Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ANTLR:“^”对我来说完全是个惊喜_C#_Parsing_Antlr - Fatal编程技术网

C# ANTLR:“^”对我来说完全是个惊喜

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

我想在此语法中为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)^ boolexp
        | relexp
        ;

那么应该如何设置根并创建可视AST呢?它是版本4;到底是什么让你惊讶?你期望看到什么?你到底看到了什么?@GeorgeStocker,是:我只是想把op=AND |或设为ROOT。@user3758844,你不能: