这是样品。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)