इस प्रोजेक्ट के बारे में

ANTLR (ANother Tool for Language Recognition) एक पार्सर जनरेटर है जिसका उपयोग संरचित पाठ या बाइनरी फ़ाइलों को पढ़ने, प्रोसेस करने, निष्पादित करने या अनुवाद करने के लिए किया जाता है। व्याकरण से, यह एक पार्सर उत्पन्न करता है जो पार्स ट्री बना सकता है और साथ ही पहचाने गए वाक्यांशों का जवाब देने के लिए एक लिसनर या विज़िटर इंटरफेस भी उत्पन्न करता है। परियोजना बताती है कि इसका व्यापक रूप से भाषाओं, उपकरणों और फ्रेमवर्क बनाने के लिए उपयोग किया जाता है। लक्ष्य भाषाएँ: ANTLR 4 दस लक्ष्यों का समर्थन करता है — Cpp, CSharp, Dart, Java, JavaScript, PHP, Python3, Swift, TypeScript, और Go। प्रत्येक रिलीज़ में टूल और सभी रनटाइम एक ही संस्करण में शामिल होते हैं ताकि लक्ष्यों में व्यवहार सुसंगत रहे। संस्करण 4.14 से Python 2 समर्थन हटा दिया गया है। Go लक्ष्य के लिए `go get` और `import` के लिए एक समर्पित रिपॉजिटरी है, जबकि Go रनटाइम विकास अभी भी मुख्य रिपॉजिटरी में होता है। संस्करण: README नोट करता है कि संस्करण सख्ती से semver का पालन नहीं करता है। प्रमुख संस्करण केवल पूर्ण पुनर्लेखन के लिए बढ़ाए जाते हैं (ANTLR3 से ANTLR4, LL(*) से ALL(*) पार्सिंग)। मामूली अपडेट में मामूली ब्रेकिंग परिवर्तन शामिल हो सकते हैं, और बताई गई नीति हर रिलीज़ के साथ पार्सर को पुनर्जीवित करने की है। पिछड़ी संगतता केवल पैच संस्करण वृद्धि के लिए गारंटीकृत है। CI में semver सत्यापनकर्ताओं वाले उपयोगकर्ताओं को विशेष नियम लागू करने की सलाह दी जाती है। रिपॉजिटरी संरचना: डिफ़ॉल्ट `master` शाखा रिलीज़ टैग के साथ नवीनतम स्थिर रिलीज़ रखती है; `dev` शाखा वह जगह है जहाँ विकास होता है और जहाँ से पुल अनुरोध प्राप्त होने चाहिए। `dev` शाखा को टैग की गई रिलीज़ काटने के लिए `master` में विलय कर दिया जाता है। संदर्भित दस्तावेज़ और संसाधनों में रिलीज़ नोट्स, एक आरंभ करने की मार्गदर्शिका, आधिकारिक साइट, दस्तावेज़ीकरण सूचकांक, FAQ, एक लक्ष्य पृष्ठ, Java API, ANTLR v3, और v3-to-v4 माइग्रेशन FAQ शामिल हैं। ANTLR को बनाने और रिलीज़ बनाने और तैनात करने पर भी पृष्ठ हैं। README में पुस्तक "The Definitive ANTLR 4 Reference" और उसका स्रोत कोड का उल्लेख है, और अलग grammars-v4 रिपॉजिटरी की ओर इशारा करता है, जो व्याकरणों का एक संग्रह है जिसका नाम उनके द्वारा पार्स की जाने वाली भाषा के लोअरकेस नाम पर रखा गया है (उदाहरण के लिए java, cpp, csharp, c)। सूचीबद्ध योगदानकर्ताओं में Terence Parr (परियोजना प्रमुख), Sam Harwell, Eric Vergnaud, Peter Boyer, Mike Lischke, Dan McLaughlin, David Sisson, Janyou, Ewan Mellor, Hanzhou Shi, Ben Hamilton, Marcos Passos, Lingyu Li, Ivan Kochurkin, Justin King, Ken Domino, और Jim Idle शामिल हैं, जिनके योगदान के क्षेत्रों जैसे विशिष्ट लक्ष्य, यूनिकोड समर्थन, त्रुटि प्रबंधन, और प्रदर्शन के नोट्स के साथ।