ANTLR
ANTLR v3 का परिचय
खोज…
स्थापना और सेटअप
ग्रहण में ANTLR कैसे स्थापित करें
(इंडिगो और ANTLR आईडीई 2.1.2 पर अंतिम परीक्षण)
- ग्रहण स्थापित करें।
- डाउनलोड ANTLR पूर्ण बायनेरी जार जिसमें ANTLR v2 शामिल है। एक अस्थायी निर्देशिका के लिए निकालें। एंटील्र-एनएन फ़ोल्डर को एक उपयुक्त स्थायी स्थान पर कॉपी करें, उदाहरण के लिए उसी फ़ोल्डर को जिसमें ग्रहण स्थापित है।
- ग्रहण में ANTLR IDE अपडेट साइट जोड़ें।
- ग्रहण में, मदद पर क्लिक करें और नया सॉफ्टवेयर स्थापित करें चुनें।
- Add… बटन पर क्लिक करें।
- जोड़ें रिपॉजिटरी विंडो में, स्थान प्रकार के लिए http://antlrv3ide.sourceforge.net/updates और नाम के लिए ANTLR IDE जैसा कुछ लिखें और उपलब्ध सॉफ़्टवेयर विंडो पर वापस जाने के लिए ठीक क्लिक करें।
- ANTLR IDE vn.n के लिए बॉक्स को चेक करें और जब तक यह स्थापित नहीं हो जाता है तब पर क्लिक करें। ग्रहण शायद फिर से शुरू होगा।
- ANTLR IDE कॉन्फ़िगर करें।
- ग्रहण मुख्य विंडो में, विंडो पर क्लिक करें और फिर प्राथमिकताएँ।
- बाएँ फलक में, ANTLR का विस्तार करें और बिल्डर का चयन करें।
- दाएँ फलक में, जोड़ें… बटन पर क्लिक करें।
- ANTLR पैकेज विंडो जोड़ें में, डायरेक्टरी ... पर क्लिक करें और एंटीएलआर-एनएन फ़ोल्डर के स्थान पर जाएं और ओके पर क्लिक करें।
- जोड़ें ANTLR पैकेज विंडो को बंद करने के लिए ठीक क्लिक करें।
- बाएँ फलक में कोड जनरेटर का चयन करें और दाएँ फलक में प्रोजेक्ट सापेक्ष फ़ोल्डर पर क्लिक करें। एक फ़ोल्डर नाम टाइप करें। उदाहरण: antlr-java या antlr- उत्पन्न।
- किसी भी अन्य कॉन्फ़िगरेशन पैरामीटर का चयन करें, लेकिन बिल्डिंग विंडो में जनरल के तहत -nfa या -dfa की जाँच न करें। यदि जाँच की जाती है, तो ये ANTLR त्रुटियों को उत्पन्न करेगी जिससे जावा फाइल को आउटपुट फोल्डर में उत्पन्न होने से रोका जा सकेगा।
- प्राथमिकताएँ विंडो बंद करने के लिए ठीक क्लिक करें।
- एक नया जावा प्रोजेक्ट बनाएं और ANTLR सपोर्ट को सक्षम करें।
- ग्रहण की मुख्य विंडो से, फ़ाइल, न्यू, जावा प्रोजेक्ट पर जाएं। अगला क्लिक करें, एक परियोजना का नाम टाइप करें और समाप्त पर क्लिक करें।
- प्रोजेक्ट के लिए ANTLR समर्थन को सक्षम करने के लिए, पैकेज एक्सप्लोरर विंडो (बाएँ फलक) में अभी बनाई गई परियोजना पर राइट-क्लिक करें और कॉन्फ़िगर करें, ANTLR प्रोजेक्ट में कनवर्ट करें चुनें।
- प्रोजेक्ट में ANTLR पूर्ण जार फ़ाइल जोड़ें: प्रोजेक्ट पर राइट-क्लिक करें और गुण, जावा बिल्ड पथ का चयन करें, बाहरी JARs जोड़ें क्लिक करें ..., ANTLR जार फ़ाइल में ब्राउज़ करें, इसे चुनें, और ठीक क्लिक करें। प्रोजेक्ट गुण विंडो बंद करने के लिए ठीक क्लिक करें।
- एक ANTLR व्याकरण बनाएँ।
- एक नया ANTLR व्याकरण बनाएँ: प्रोजेक्ट के src फ़ोल्डर पर राइट-क्लिक करें, फिर फ़ाइल, नया, अन्य, ANTLR का विस्तार करें और संयुक्त व्याकरण का चयन करें। अगला पर क्लिक करें, व्याकरण नाम टाइप करें, एक भाषा विकल्प चुनें, और समाप्त पर क्लिक करें।
- एक ".g" फ़ाइल चयनित विकल्पों और एक खाली नियम के साथ बनाई गई है। विकल्प भाषा जोड़ें = जावा, @header, @lexer :: शीर्ष लेख, और शीर्ष पर @members कथन (उदाहरण देखें)। इन्हें पूरा करने का सबसे आसान तरीका ऑटो समापन है (स्वतः पूर्ण सूची लाने के लिए CTRL-space दबाएँ)।
- व्याकरण को बचाएं।
- जब सहेजा जाता है, तो व्याकरण के लिए उत्पन्न जावा कोड वाला एक फ़ोल्डर प्रोजेक्ट एक्सप्लोरर में दिखाई देना चाहिए। यदि ऐसा नहीं होता है, तो सुनिश्चित करें कि बिल्डिंग विंडो में जनरल के तहत ANTLR प्राथमिकता में –nfa या -dfa विकल्पों की जाँच नहीं की जाती है। [अगर इन की आवश्यकता हो तो पुष्टि करें: अपने Eclipse इंस्टॉल (32 या 64 बिट्स) से मेल खाने वाले Java7 के लिए CLASSPATH पर्यावरण चर बिंदुओं की जाँच करें और Windows पथ पर्यावरण चर में Java7 SDK था।]
- से बचने के लिए "एक प्रकार" जावा त्रुटियों को हल नहीं किया जा सकता है, उत्पन्न जावा कोड वाले फ़ोल्डर पर राइट-क्लिक करें, फिर एक स्रोत फ़ोल्डर के रूप में पथ, उपयोग का निर्माण करें।
सम्मिलित सम्मिलित ग्रामर
grammar test; //must match filename.g
options {
language = Java;
}
@header { //parser
package pkgName; //optional
import java.<whatever you need>.*;
}
@members { //parser
// java code here
}
@lexer::header { //lexer
package pkgName; //optional
import java.<whatever you need>.*;
}
@lexer::members {
// java code here
}
/*------------------------------------------------------------------
* PARSER RULES (convention is all lowercase)
*------------------------------------------------------------------*/
parserule: LEXRULE;
/*------------------------------------------------------------------
* LEXER RULES (convention is all uppercase)
*------------------------------------------------------------------*/
LEXRULE: 'a'..'z';
Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow