gpt4 book ai didi

antlr - Antlr4 中语义谓词的语法

转载 作者:行者123 更新时间:2023-12-04 03:29:18 28 4
gpt4 key购买 nike

What is a 'semantic predicate' in ANTLR3? Bart Kiers 很好地概述了 Antlr3 中的不同语义谓词。

太糟糕了,Antlr4 中的语法/语义似乎发生了变化,因此无法编译:

end_of_statement
: ';'
| EOF
| {input.LT(1).getType() == RBRACE}? =>
;

RBRACE
: '}'
;

有人可以告诉我如何处理 end_of_statement 的第三种情况:如果下一个 token 是 '}' 则接受但不要使用它。

最佳答案

现在只有一种类型的语义谓词,如下所示:

{ <<boolean-epxression>> }?

input来自抽象类的属性 Parser (您生成的解析器从中扩展)现在前面有一个下划线。

因此,在您的情况下,以下 ANTLR v3 语法:
{input.LT(1).getType() == RBRACE}? =>

在 ANTLR v4 中看起来像这样:
{_input.LT(1).getType() == RBRACE}?

关于antlr - Antlr4 中语义谓词的语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12749230/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com