C# ANTLR:“^”对我来说完全是个惊喜
我想在此语法中为AST设置根:C# ANTLR:“^”对我来说完全是个惊喜,c#,parsing,antlr,C#,Parsing,Antlr,我想在此语法中为AST设置根: boolexp : relexp op=(AND | OR)^ boolexp | relexp ; 但是得到这个错误: '^' came as a complete surprise to me 原因是什么?如果这是ANTLR 4,则AST运算符已被删除,以支持自动解析树构造 如果这是ANTLR 3,您可能需要将标签移动到括号内,如下所示 boolexp : relexp (op=AND | op=OR)^ b
boolexp : relexp op=(AND | OR)^ boolexp
| relexp
;
但是得到这个错误:
'^' came as a complete surprise to me
原因是什么?如果这是ANTLR 4,则AST运算符已被删除,以支持自动解析树构造 如果这是ANTLR 3,您可能需要将标签移动到括号内,如下所示
boolexp : relexp (op=AND | op=OR)^ boolexp
| relexp
;
那么应该如何设置根并创建可视AST呢?它是版本4;到底是什么让你惊讶?你期望看到什么?你到底看到了什么?@GeorgeStocker,是:我只是想把op=AND |或设为ROOT。@user3758844,你不能: