सिंटेक्स हाइलाइटर अप करने के लिए कर रहे हैं आम तौर पर व्याख्यात्मक विश्लेषण से परे नहीं जाते हैं, जिसका अर्थ है कि आपको पूरी भाषा को बयान और घोषणाओं और अभिव्यक्तियों और क्या नहीं है। आपको केवल एक लेक्सर लिखना है, जो नियमित अभिव्यक्तियों के साथ काफी आसान है। यदि आप पहले से नहीं हैं, तो मैं आपको नियमित अभिव्यक्ति सीखकर शुरू करने की सलाह देता हूं। इसमें सभी 30 मिनट लगेंगे।
आप सीखने के अभ्यास के रूप में फ्लेक्स (लेक्सिकल विश्लेषक जनरेटर; https://github.com/westes/flex) के साथ टॉयइंग करने पर विचार करना चाहेंगे। फ्लेक्स में एक बुनियादी वाक्यविन्यास हाइलाइटर को कार्यान्वित करना काफी आसान होना चाहिए जो एचटीएमएल या कुछ को हाइलाइट करता है।
संक्षेप में, आप फ्लेक्स को नियमित अभिव्यक्तियों का एक सेट और मिलान करने वाले पाठ के साथ क्या करना होगा, और जनरेटर लालसा से आपके अभिव्यक्तियों के खिलाफ मैच करेगा। the flex FAQ में दिखाए गए अनुसार आप अनन्य राज्यों (जैसे स्ट्रिंग अक्षर, टिप्पणियों इत्यादि में और बाहर) के बीच अपना लेज़र संक्रमण कर सकते हैं। फ्लेक्स में लिखित सी के लिए एक लेक्सर का एक कैनोलिक उदाहरण यहां दिया गया है: http://www.lysator.liu.se/c/ANSI-C-grammar-l.html।
एक एक्स्टेंसिबल सिंटैक्स हाइलाइटर बनाना आपकी यात्रा का अगला हिस्सा होगा। यद्यपि मैं एक्सएमएल का कोई प्रशंसक नहीं हूं, फिर भी देखें कि कैसे केट सिंटैक्स हाइलाइटिंग फाइलों को परिभाषित किया गया है, जैसे कि this one for C++। आपका कार्य यह पता लगाने के लिए होगा कि आप सिंटैक्स हाइलाइटर्स को कैसे परिभाषित करना चाहते हैं, फिर एक प्रोग्राम बनाएं जो HTML को उत्पन्न करने के लिए उन परिभाषाओं का उपयोग करता है या जो कुछ भी आप कृपया करते हैं।
स्रोत
2010-04-17 01:43:55