Saturday 15 August 2015

antlr - How to add package declaration for antlr3 generated classes using ant? -


मेरा build.xml निम्न जैसा दिखता है:

  & lt ; प्रॉपर्टी नाम = "lib" मान = "$ {baseir} / lib" / & gt; & Lt; संपत्ति नाम = "src" मान = "$ {baseir} / src" / & gt; & Lt; संपत्ति नाम = "पैकेज" मान = "कॉम / पैकेज / एंट्ल्र" / & gt; & Lt; पथ id = "compile.classpath" & gt; & Lt; fileset dir = "$ {lib}" & gt; & Lt; नाम = "एन्टीएलआर-3.5-पूर्ण.जर" / & gt; & Lt; / फ़ाइलसेट & gt; & Lt; / पथ & gt; & Lt;! - देखें कि ANTLR3 क्लासपाथ में पाया जा सकता है - & gt; & Lt; लक्ष्य का नाम = "एन्टीएलआर_ क्लासपाथ" & gt; & Lt; जो स्रोत संसाधन = "एंटीएलआर.इन। क्लासपाथ" वर्ग = "org.antlr.Tool" & gt; & LT; classpath & gt; & Lt; पथ रिफिड = "compile.classpath" / & gt; & Lt; / classpath & gt; & Lt; / whichresource & gt; & Lt; fail message = "एएनटीएलआर 3 सीएलएसएसपीएएचएच में नहीं मिला" & gt; & LT; हालत & gt; & LT; & gt नहीं; & Lt; isset प्रॉपर्टी = "एंटीएलआर.इन। क्लासपाथ" / & gt; & Lt; / & gt नहीं; & Lt; / हालत & gt; & Lt; / असफल & gt; & Lt; इको & gt; ANTLR3 को CLASSPATH के माध्यम से मिला & lt; / echo & gt; & Lt; / लक्ष्य & gt; & Lt;! - Antlr3 को यहां कहा जाता है - & gt; & Lt; लक्ष्य नाम = "एंट्ल्र" निर्भर = "एंट्रिल_क्लसपाथ" & gt; & Lt; java classname = "org.antlr.Tool" fork = "true" failonerror = "सच" & gt; & LT; classpath & gt; & Lt; पथ रिफिड = "compile.classpath" / & gt; & Lt; / classpath & gt; & Lt; arg मान = "- वर्बोस" / & gt; & Lt; arg मान = "- बनाना" / & gt; & Lt; arg मान = "- o" / & gt; & Lt; arg पथ = "$ {src} / $ {package}" / & gt; & Lt; arg पथ = "$ {src} / $ {package} / BoolExpr.g" / & gt; & Lt; / जावा & gt; & Lt; / लक्ष्य & gt;   

यह फ़ोल्डर / src / com / package / antlr में BoolExprLexer.java और BoolExprParser.java उत्पन्न करता है, जो कि मैं चाहता हूँ, लेकिन उत्पन्न फाइल डिफ़ॉल्ट से संबंधित पैकेज। मैं com.package.antlr का हिस्सा कैसे बना सकता हूं?

एएनटीएलआर 3

लेसर व्याकरण या पार्सर व्याकरण के लिए, अपनी व्याकरण फ़ाइल में निम्नलिखित जोड़ें:

  @header {पैकेज com.package.antlr; }   

एक संयुक्त व्याकरण (एक ही व्याकरण फ़ाइल में लेक्सर और पार्सर) के लिए, अपनी व्याकरण फ़ाइल में निम्नलिखित को जोड़ें:

  @lexer :: header {पैकेज com.package.antlr; } @ पार्स :: हेडर {पैकेज com.package.antlr; }   

एएनटीएलआर 4

व्याकरण से अपना लेक्सर / पार्सर उत्पन्न करते समय निम्नलिखित तर्क को एएनटीएलआर टूल में पास करें:

  -पैकेज com.package.antlr   

यह आपकी निर्माण स्क्रिप्ट में निम्नलिखित दो पंक्ति जोड़कर एक चींटी निर्माण के दौरान किया जा सकता है:

  & lt; arg मान = "- पैकेज" / & gt; & Lt; arg मान = "com.package.antlr" / & gt;    

No comments:

Post a Comment