ANTLR歧义问题

时间:2015-02-22 18:30:24

标签: compiler-construction antlr

我有这个语法。

grammar MyGrammar;
prog : lexeme* ;

lexeme :
TOK_INTLIT  : [0-9]+;
Identifiers  : Letter (Letter | Digit | '_' )* ;
fragment Letter     : [a-zA-Z] ;
fragment Digit      : [0-9] ;
...

现在输入时:int 2x = 20;

我期待标识符出错,但我得到的结果如下:

Type = TOK_INT value = [int] Line 1, Column 0,
Type = TOK_INTLIT value = [2] Line 1, Column 4,
Type = Identifiers value = [x] Line 1, Column 5,

2x正在分裂。我做错了什么或有办法解决这些问题吗?

0 个答案:

没有答案