ANTLR3 NoViableAltException和MissingTokenException

时间:2019-01-03 21:19:39

标签: antlr3

这是样品。g

lexer grammar Sample;

options {
    language=Java;
    memoize=true;
}

tokens {
    RegExp;
}

RegExpression: 
    '/' a=~('/' | NL)* '/'
    -> ^(RegExp $a)
    ;

fragment NL: '\n' | '\r';

然后我运行命令 java -jar antlr-3.5.2-complete.jar Sample.g

它给出以下错误,有帮助吗?

error(100): Sample.g:14:8: syntax error: antlr: NoViableAltException(96@[])
error(100): Sample.g:14:10: syntax error: antlr: NoViableAltException(94@[])
error(100): Sample.g:14:10: syntax error: antlr: MissingTokenException(inserted [@-1,0:0='<missing SEMI>',<82>,14:9] at RegExp)
error(100): Sample.g:14:58: syntax error: antlr: MismatchedTokenException(28!=22)
error(100): Sample.g:14:60: syntax error: antlr: MismatchedTokenException(78!=22)
error(100): Sample.g:0:1: syntax error: assign.types: MismatchedTreeNodeException(0!=16)
error(100): Sample.g:0:1: syntax error: assign.types: MismatchedTreeNodeException(0!=3)
error(10):  internal error: Sample.g : java.lang.NullPointerException
org.antlr.grammar.v3.DefineGrammarItemsWalker.countAltsForRule(DefineGrammarItemsWalker.java:174)
org.antlr.grammar.v3.DefineGrammarItemsWalker.rule(DefineGrammarItemsWalker.java:1188)
org.antlr.grammar.v3.DefineGrammarItemsWalker.rules(DefineGrammarItemsWalker.java:981)
org.antlr.grammar.v3.DefineGrammarItemsWalker.grammarSpec(DefineGrammarItemsWalker.java:572)
org.antlr.grammar.v3.DefineGrammarItemsWalker.grammar_(DefineGrammarItemsWalker.java:271)
org.antlr.tool.Grammar.defineGrammarSymbols(Grammar.java:791)
org.antlr.tool.CompositeGrammar.defineGrammarSymbols(CompositeGrammar.java:379)
org.antlr.Tool.process(Tool.java:484)
org.antlr.Tool.main(Tool.java:98)

0 个答案:

没有答案