antlr认识到错误的解析器

时间:2012-11-20 04:46:09

标签: parsing antlr

我使用antlr 3.4来编写解析器语法,如下所示:

var : VAR_LEFT_PART  atom_var VAR_RIGHT_PART ;
atom_var : ID |   VAR_LEFT_PART ID VAR_RIGHT_PART ;

VAR_LEFT_PART : '{{';
VAR_RIGHT_PART : '}}';
ID : ('a'..'z' | 'A'..'Z' | '_') ('a'..'z' | 'A'..'Z' | '0'..'9' | '_')* ;
INT :   ('1'..'9')('0'..'9')* ;
NEWLINE:'\r'? '\n' ;
WS  :   (' '|'\t')+ { $channel = HIDDEN;} ;

当我测试下面的案例时:

enter image description here

问题是我的字符串“{{{test}}}”不正确,但解析器识别出ID错误的标记,问题是什么?

1 个答案:

答案 0 :(得分:0)

我尝试使用ANTLR 3.4,它似乎正常工作。 eclipse插件的解释器绘制了与你帖子中相同的错误树,但它已知是错误的。