2010-03-29 14 views
9

मैं जावा लक्ष्य के साथ एक मार्क अप भाषा के लिए एक पार्सर + पेड़ व्याकरण उत्पन्न करने के लिए एएनटीएलआर का उपयोग कर रहा हूं जो ठीक काम करता है। अब मैं अपने वेब ब्राउज़र में इसका उपयोग करने के लिए जावास्क्रिप्ट में लक्ष्य प्राप्त करने की कोशिश कर रहा हूं।एएनटीएलआर जावास्क्रिप्ट लक्ष्य

हालांकि, मैं ऐसा करने के बारे में किसी भी अच्छे दस्तावेज़ीकरण को ढूँढने में सक्षम नहीं हूं। मैं एएनटीएलआर आईडीई के साथ ग्रहण का उपयोग कर रहा हूं, और जब मैं जावास्क्रिप्ट के रूप में भाषा निर्दिष्ट करता हूं, तो मुझे निम्न त्रुटियां मिलती हैं।

इस लाइन

  • (10) पर एकाधिक मार्कर: आंतरिक त्रुटि: समूह जावास्क्रिप्ट इंटरफ़ेस ANTLRCore संतुष्ट नहीं करता: इन टेम्पलेट्स पर बेमेल तर्क [treeParser (व्याकरण, नाम, स्कोप, टोकन, tokenNames, globalAction , नियमों, numRules, bitsets, labelType, ASTLabelType, सुपर क्लास, सदस्य, filterMode)]

  • (10): आंतरिक त्रुटि: java.util.NoSuchElementException: ऐसी कोई विशेषता: filterMode टेम्पलेट संदर्भ में [treeParser]

अगर कोई मुझे इस बारे में मदद कर सकता है या मुझे कुछ सामग्री पर इंगित कर सकता है जिसे मैं एएनटीएलआर के साथ जावास्क्रिप्ट लक्ष्य के बारे में पढ़ सकता हूं, तो यह बहुत अच्छा होगा।

धन्यवाद

+1

मैं वास्तव में अब जावास्क्रिप्ट में पार्सर उत्पन्न करने में सक्षम हूं, और यह चीजों को ठीक से पहचानता है। लेकिन जब मैं जावास्क्रिप्ट लक्ष्य में पेड़ वॉकर उत्पन्न करने का प्रयास करता हूं, तो यह सक्षम नहीं होता है। और मुझे लगता है कि इसके लिए मुख्य कारण ऊपर सूचीबद्ध त्रुटि 2 है। – Gunner4Life

+0

मुझे यकीन नहीं है कि एएनटीएलआर निर्माण का कौन सा संस्करण आप उपयोग करने का प्रयास कर रहे थे, लेकिन मैं उन आधिकारिक बिल्डों के साथ समान त्रुटियों को देख रहा था जिन्हें मैंने उपयोग करने का प्रयास किया था। मुझे बस फोर्स फोर्स सर्वर से एएनटीएलआर टैर मिला और इसे मैवेन के साथ बनाया गया, और जावास्क्रिप्ट सामान मेरे लिए काम करना प्रतीत होता था - कम से कम मेरे स्वीकार्य रूप से छोटे व्याकरण के साथ। –

+0

मुझे पता चला कि त्रुटि क्या थी। जावास्क्रिप्ट लक्ष्य एएनटीएलआर की नवीनतम रिलीज में टूटा गया था, जिसने इस मुद्दे को जन्म दिया। समाधान या तो स्रोत कोड बनाना है, या किसी पुराने संस्करण का उपयोग करना है। – Gunner4Life

उत्तर

0

पर कुछ मार्गदर्शन और लिंक के साथ एक कार्य उदाहरण देख सकते हैं ऐसा लगता है कि जावास्क्रिप्ट लक्ष्य 3.4 वितरण में फिर से टूट गया है। 3.3 हालांकि मेरे लिए ठीक काम कर रहा है।

0

मैं इस काम के पाने के लिए कोशिश कर रहे हैं, और केवल सिर्फ फाइलों .js उत्पन्न करने के लिए कामयाब रहे सफलतापूर्वक इस पढ़ने के बाद:

http://www.antlr3.org/pipermail/antlr-interest/2011-August/042417.html

पद से:

यहाँ है कैसे आरंभ करने के लिए ANTLR और जावास्क्रिप्ट बैक-एंड के साथ:

  1. डाउनलोड ANTLRWorks 1.2.2: < 0,123,>। जावास्क्रिप्ट लक्ष्य केवल तभी काम करता है जब आईडीई लेक्सर और पार्सर कोड उत्पन्न करता है (< http://antlr.1301665.n2.nabble.com/maven-plugin-and-javascript-target-td3647109.html> देखें)। यदि आप कमांड लाइन से एएनटीएलआर v3.1 चलाने की कोशिश करते हैं, तो आपको त्रुटि संदेश "त्रुटि (10): आंतरिक त्रुटि: समूह जावास्क्रिप्ट इंटरफ़ेस एंटीएलआरकोर" को संतुष्ट नहीं करता है।
  2. जे एस क्रम वितरण डाउनलोड करें: http://antlr.org/download/antlr-javascript-runtime-3.1.zip

From then on you can use ANTLRWorks 1.2.2 to generate the lexer and parser code by selecting "Generate Code" from the "Generate" menu. ANTLRWorks will place the generated files into an output directory in the folder in which the grammar file resides.

ध्यान दें कि पीढ़ी प्रक्रिया में एक त्रुटि तब होती है, तो किसी कारण के लिए "कोड बनाएं" कार्रवाई नहीं रह गया काम करता है। बस व्याकरण को बंद करें और इसे "हालिया खोलें" मेनू से फिर से खोलें।

3

ANTLR4 के लिए एक नया जे एस लैंग लक्ष्य है कि लगभग 3 महीने पहले GitHub के लिए तैनात किया गया था नहीं है:

antlr/antlr4-javascript

यह एक आधिकारिक रिलीज में अभी उपलब्ध नहीं है, लेकिन आप शायद सिर्फ इसे में फेंक कर सकते हैं नवीनतम एएनटीएलआर 4 कोडबेस और एएनटीएलआर स्वयं को पुन: संकलित करें।

+0

एंटीएल 4-जावास्क्रिप्ट प्रोजेक्ट में अब ब्राउज़र-आधारित परीक्षण है और यह बहुत अधिक है। जावास्क्रिप्ट लक्ष्य के स्रोत में, ऐसा लगता है कि लक्षित रिलीज लक्ष्य एएनटीएलआर 4.5 है। – jhyry

+4

लिंक काम नहीं कर रहा –

+0

यहां अद्यतित जानकारी के साथ एक बेहतर लिंक है: https://github.com/antlr/antlr4/blob/master/doc/javascript-target.md –

संबंधित मुद्दे