2011-08-19 16 views
12

एएनटीएलआर में कोड उत्पन्न करते समय मुझे यह त्रुटि क्यों मिलती है?एएनटीएलआर क्लासकास्टएक्सप्शन

[16:06:38] error(10): internal error: C:\Users\user\Desktop\test.g : java.lang.ClassCastException: org.antlr.runtime.tree.CommonTree cannot be cast to org.antlr.tool.GrammarAST 
org.antlr.grammar.v3.CodeGenTreeWalker.rules(CodeGenTreeWalker.java:1467) 
org.antlr.grammar.v3.CodeGenTreeWalker.grammarSpec(CodeGenTreeWalker.java:1441) 
org.antlr.grammar.v3.CodeGenTreeWalker.grammar_(CodeGenTreeWalker.java:509) 
org.antlr.codegen.CodeGenerator.genRecognizer(CodeGenerator.java:421) 
org.antlr.Tool.generateRecognizer(Tool.java:655) 
org.antlr.Tool.process(Tool.java:468) 
org.antlr.works.generate.CodeGenerate.generate(CodeGenerate.java:104) 
org.antlr.works.generate.CodeGenerate.run(CodeGenerate.java:185) 
java.lang.Thread.run(Unknown Source) 

वाक्य रचना बस के परीक्षण के लिए, बहुत सरल है:

grammar test; 

ID : ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'0'..'9'|'_')* 
    ; 

कोई भी विचार?

उत्तर

16

आपने एक मिश्रित व्याकरण (लेक्सर और पार्सर) निर्दिष्ट किया है, लेकिन आपने एक पार्सर नियम निर्दिष्ट नहीं किया है।

या तो एक जोड़ें या lexer grammar test;

का उपयोग करें
संबंधित मुद्दे