ANTLR ट्यूटोरियल
ANTLR के साथ शुरुआत करना
खोज…
टिप्पणियों
ANTLR (लैंग्वेज रिकॉग्निशन के लिए ANother Tool) संरचित पाठ या बाइनरी फ़ाइलों को पढ़ने, प्रसंस्करण, निष्पादन या अनुवाद करने के लिए एक शक्तिशाली पार्सर जनरेटर है। इसका उपयोग भाषा, उपकरण और रूपरेखा बनाने के लिए व्यापक रूप से किया जाता है। एक व्याकरण से, ANTLR एक पार्सर बनाता है जो पार्स पेड़ों का निर्माण और चल सकता है।
- आधिकारिक एंटीलर वेबसाइट (हमेशा नवीनतम संस्करण की ओर इशारा करती है )
Antlr संस्करण
एंट्रल को दो बड़े भागों में अलग किया जाता है, व्याकरण (व्याकरण फाइलें) और उत्पन्न कोड फाइलें, जो लक्ष्य भाषा के आधार पर व्याकरण से प्राप्त होती हैं। एंटीलर संस्करण V1.V2.V3 के प्रारूप में हैं:
- V1: V1 में बदलाव का मतलब है कि व्याकरण की फ़ाइलों में नए सिंटैक्स की विशेषताएं पेश की गईं
- V2: V2 में परिवर्तन का मतलब है कि नई सुविधाएँ या प्रमुख फ़िक्सेस जनरेट की गई फ़ाइलों (जैसे नए कार्यों को जोड़ना) में पेश की गईं
- V3: बग फिक्स या मामूली सुधार के लिए खड़ा है
रनटाइम लाइब्रेरीज़ और कोड जनरेशन लक्ष्य
Antlr टूल जावा में लिखा गया है, हालांकि यह विभिन्न भाषाओं में पार्सर और लेक्सर्स उत्पन्न करने में सक्षम है। Parser और lexer को चलाने के लिए आपको parser और lexer कोड के साथ antlr के रनटाइम लाइब्रेरी की भी आवश्यकता होगी। समर्थित लक्ष्य भाषा (और रनटाइम लाइब्रेरी) निम्नलिखित हैं:
जावा
सी#
अजगर (2 और 3)
जावास्क्रिप्ट
संस्करण
संस्करण | रिलीज़ की तारीख |
---|---|
2.0 | 1997/05/01 |
3.0 | 2011-01-19 |
4.0 | 2013-01-21 |
4.1 | 2013-07-01 |
4.2 | 2014-02-05 |
4.2.1 | 2014-03-25 |
4.2.2 | 2014-04-07 |
4.3 | 2014-06-19 |
4.4 | 2014-07-16 |
4.5 | 2015-01-23 |
4.5.1 | 2016/07/16 |
4.5.2 | 2016/01/30 |
4.5.3 | 2016/03/31 |
4.6 | 2016/12/15 |
4.7 | 2017/03/30 |
नमस्ते दुनिया
एक साधारण हैलो वर्ल्ड व्याकरण यहाँ पाया जा सकता है :
// define a grammar called Hello
grammar Hello;
r : 'hello' ID;
ID : [a-z]+ ;
WS : [ \t\r\n]+ -> skip ;
इसे बनाने के लिए .g4 नमूना आप अपने ऑपरेटिंग सिस्टम टर्मिनल / कमांड-लाइन से निम्न कमांड चला सकते हैं:
Java -jar antlr-4.5.3-complete.jar Hello.g4
//OR if you have setup an alias or use the recommended batch file
antlr4 Hello.g4
इस उदाहरण का निर्माण Hello.g4 फ़ाइल निर्देशिका में निम्न आउटपुट में होना चाहिए:
- Hello.tokens
- HelloBaseListener.java
- HelloLexer.java
- HelloLexer.tokens
- HelloListener.java
- HelloParser.java
अपने प्रोजेक्ट में इन फ़ाइलों का उपयोग करते समय ANTLR जार फ़ाइल को शामिल करना सुनिश्चित करें। जावा के उपयोग से इन सभी फाइलों को संकलित करने के लिए, एक ही ऑपरेटिंग डायरेक्टरी या पथ में निम्नलिखित कमांड चलाएं:
javac *.java