Antlr4中语义谓词的语法
在本文中,Bart Kiers对Antlr3中的不同语义谓词进行了很好的概述 太糟糕了,Antlr4中的语法/语义似乎发生了更改,因此无法编译:Antlr4中语义谓词的语法,antlr,antlr4,Antlr,Antlr4,在本文中,Bart Kiers对Antlr3中的不同语义谓词进行了很好的概述 太糟糕了,Antlr4中的语法/语义似乎发生了更改,因此无法编译: end_of_statement : ';' | EOF | {input.LT(1).getType() == RBRACE}? => ; RBRACE : '}' ; 有人能告诉我如何执行end_of_语句的第三种情况:如果下一个标记是“}”,则接受,但不要使用它。现在只有一种语
end_of_statement
: ';'
| EOF
| {input.LT(1).getType() == RBRACE}? =>
;
RBRACE
: '}'
;
有人能告诉我如何执行end_of_语句的第三种情况:如果下一个标记是“}”,则接受,但不要使用它。现在只有一种语义谓词,如下所示:
{ <<boolean-epxression>> }?
在ANTLR v4中看起来是这样的:
{_input.LT(1).getType() == RBRACE}?
效果很好。再次谢谢你!
{_input.LT(1).getType() == RBRACE}?