ANTLR4 Beta 3的很简单的语法不工作

问题描述:

这是一个非常简单的语法:ANTLR4 Beta 3的很简单的语法不工作

grammar test; 

DIGIT : [0-9] ; 
WS : [ \r\n\t]+ -> skip ; 
value : DIGIT+ ; 

下使用OSX和JAVA 1.6版

ANTLR v4.0b3编译使用以下命令语法:

antlr4 test.g4 
javac *.java 

我然后用于GRUN测试语法:

grun test value -tokens 

这里是结果:

grun test value -tokens 
12 
[eof] 
[@0,0:0='1',<1>,1:0] 
[@1,1:1='2',<1>,1:1] 
[@2,3:2='<EOF>',<-1>,2:0] 

我的问题是:为什么会出现两个标记( '1' 和 '2'),而不是一个( '12')?

非常感谢那些能够帮助我的人!

干杯!

盖伊

你问一位数字的时间,然后将其传递给解析器规则匹配单个数字:值。我想你想要什么是真正

value : INT ; 
INT : [0-9]+ ; 

:)

特伦斯

+0

泰伦斯你好。非常感谢!我刚刚找到了同样的答案...我错过了最后2个小时的愚蠢错误! – Guy