2009-04-24 14 views
17

के विकास के संबंध में ट्यूटोरियल मैं एक विशेष प्रोग्रामिंग भाषा के लिए ग्रहण के लिए एक संपादक के विकास के बारे में जानना चाहता हूं। क्या इसके साथ मेरी सहायता करने के लिए कोई ट्यूटोरियल उपलब्ध है? यह फायदेमंद होगा अगर इसमें सिंटैक्स हाइलाइटिंग और ऑटो-पूर्णता जैसे विषयों को शामिल किया गया हो।एक कस्टम ग्रहण संपादक

उत्तर

12

मैंने this one पर शुरू किया। यह एक साल पुराना था जब मैंने इसका इस्तेमाल किया, लेकिन अवधारणाएं वही रहीं।

सबसे अच्छी चीज जो मैं सुझाव दे सकता हूं कि एक भाषा को पहले से एकीकृत करने के लिए कैसे किया जाएगा, और देखें कि वे इसे कैसे करते हैं। यहां असली सलाह दी गई है - एक पैकेज नाम के साथ एक को न लें जो org.eclipse (चींटी की तरह) से शुरू होता है। ग्रहण द्वारा प्रदान किए गए बहुत सारे समर्थन हैं, यह देखना बहुत आसान है कि आपको कौन सा कोड लिखना है यदि यह किसी अन्य पैकेज उपसर्ग के साथ शुरू होता है। उदाहरण के लिए groovy या scala प्लगइन्स को देखने का प्रयास करें।

मेरे अनुभव में, यह त्रुटि हाइलाइटिंग है जो सही करने के लिए सबसे कठिन है; अगली सबसे कठिन सामग्री सहायता है।

यदि आप उस भाषा के कंपाइलर या रनटाइम के नियंत्रण में हैं जो आप एक संपादक लिख रहे हैं, तो यह जीवन को बहुत आसान बनाता है यदि आप कंपाइलर को अपने डेटा को प्रस्तुत करने के लिए सभी डेटा देने के लिए प्राप्त कर सकते हैं उपयोगकर्ता के लिए (उदाहरण के लिए टोकन की सूची - सिंटैक्स रंग, टूलटिप्स के लिए; सामग्री सहायता बहुत बेहतर होगी, क्योंकि आप एक कंपाइलर नहीं बना रहे हैं, बल्कि इसके बजाय वास्तविक का उपयोग कर रहे हैं; त्रुटि हाइलाइटिंग के साथ ही)।

आईडीई एक बार जब आप इसे नीचे ही प्रदर्शित करने के लिए, उदाहरण के एक्सएमएल संपादक काफी उपयोगी लग रहा है केवल प्रदर्शित त्रुटियों की अपेक्षाकृत आसान काम है, और रंग, आदि

है।

विभाजन विभाजन नियमों में से अधिकांश मुझे कम उपयोगी पाया गया है; मैं हमेशा अपनी खुद की इमारत समाप्त कर चुका हूं - टोकन की एक सूची में बाइनरी खोज बेहद उपयोगी है।

6

शायद आप इस लेख की तरह Eclipse editors with JFace text पर निर्माण कर रहे हैं। यह आपको प्रारंभ करने के लिए पर्याप्त है और यह वाक्यविन्यास हाइलाइटिंग, सामग्री सहायता, सामग्री रूपरेखा, और त्रुटि मार्करों के माध्यम से जाता है।

11

सबसे अच्छा एक मैं एक मानक ग्रहण पाठ आधारित संपादक के लिए देखा है

http://www.ibm.com/developerworks/edu/os-dw-os-ecl-commplgin1.html

(आप एक नि: शुल्क आईबीएम खाते में साइन अप करने की जरूरत है) है। वास्तव में एक अच्छा एएनटीएलआर 2 प्लगइन के लेखक प्रशांत देव ने यह किया।

तुम भी उपकरण है कि एक संपादक उत्पन्न होगा इस पर गौर कर सकते हैं:

ग्रहण मॉडलिंग परियोजना (ईएमएफ/TMF/GMF)

http://www.eclipse.org/modeling/

TMF शाब्दिक संपादकों निर्माण में मदद करता; जीएमएफ ग्राफिकल संपादकों का निर्माण करने में मदद करता है। एक बहुत अच्छी किताब (सफारी पुस्तकों पर भी) उपलब्ध है

ट्यूटोरियल में: http://wiki.eclipse.org/index.php/GMF_Tutorial

GMF पर एक अच्छा परिचय: http://www.ibm.com/developerworks/opensource/library/os-ecl-gmf/

गतिशील बोली टूल किट

http://www.eclipse.org/dltk/

उस साइट से उपलब्ध ट्यूटोरियल। ध्यान दें कि आप स्थिर भाषा संपादन के लिए भी डीएलटीके का उपयोग कर सकते हैं; "गतिशील" भाग दुभाषिया विन्यास और लॉन्चिंग से आता है।

Xtext (अब TMF का हिस्सा)

http://wiki.eclipse.org/Xtext

नोट: अच्छी सामग्री की सहायता काफी मुश्किल हो सकता है; इसमें वास्तव में आपके व्याकरण में प्रत्येक टर्मिनल के लिए अनुवर्ती विश्लेषण शामिल है। आप केवल परिभाषित प्रतीकों और खोजशब्दों का ट्रैक रखकर और मौजूदा उपसर्ग से मेल खाने वाले सभी को सुझाव देकर इसे सरल बना सकते हैं। ऊपर जेनरेटर इसे थोड़ा आसान बनाते हैं, लेकिन सही नहीं हैं।

शुभकामनाएं!

1

ये सभी उत्तर अच्छे हैं, और मैंने ऊपर से जुड़े ट्यूटोरियल को देखा और उपयोग किया।

मैं प्राग में चार्ल्स विश्वविद्यालय से this one जोड़ूंगा। इसे हाल ही में अपडेट किया गया है, जबकि उपरोक्त वर्णित 5-10 साल पहले हैं।

मुझे सच में यकीन नहीं है कि चीजें बहुत बदल गई हैं, लेकिन चूंकि यह मेरे लिए सहायक थी, इसलिए मैं इसे यहां जोड़ रहा हूं।

संबंधित मुद्दे