如何使用非关联运算符,例如<&引用;是否在ANTLR4语法中指定?

如何使用非关联运算符,例如<&引用;是否在ANTLR4语法中指定?,antlr4,Antlr4,在规则expr:expr'中,以下方法如何。基本上,a

在规则
expr:expr'中,以下方法如何。基本上,
a
的“结果”类型与运算符的另一个应用程序不兼容

表达式
:boolExpression
|非增压
;
升压
:nonBoolExpression“”nonBoolExpression
|   ...
;
非增压
:表达式“*”表达式
|表达式“+”表达式
|   ...
;

虽然我个人倾向于在解析后检测错误。

IANAGuru,但可能你无法(理智地)执行它,除非(A)向语法中添加谓词/操作代码,或者(B)执行解析后验证步骤。嗯,仍然没有答案?好吧,如果有人放了一个
expr : expr '<'<assoc=right> expr | ...; 
expression
    :   boolExpression
    |   nonBoolExpression
    ;

boolExpression
    :   nonBoolExpression '<' nonBoolExpression
    |   nonBoolExpression '>' nonBoolExpression
    |   ...
    ;

nonBoolExpression
    :   expression '*' expression
    |   expression '+' expression
    |   ...
    ;