小编use*_*521的帖子

如何在ANTLR4语法中指定像"<"这样的非关联运算符?

在规则中expr : expr '<' expr | ...; ,ANTLR解析器将接受类似的表达式1 < 2 < 3(并构造与关联括号相对应的左关联树)(1 < 2) < 3.

您可以告诉ANTLR将运算符视为右关联,例如

expr : expr '<'<assoc=right> expr | ...; 
Run Code Online (Sandbox Code Playgroud)

产生解析树1 < (2 < 3).

然而,在许多语言中,关系运算符非缔合,即,表达1 < 2 < 3禁止.这可以在YACC及其派生中指定.

它也可以在ANTLR中指定吗?例如,asexpr : expr '<'<assoc=no> expr | ...;

到目前为止,我无法在ANTLR4书中找到任何内容.

antlr4

10
推荐指数
1
解决办法
1178
查看次数

标签 统计

antlr4 ×1