我正在为一种语言编写语法,该语言包含一些也可以用作一元运算符的二进制运算符(操作符右侧的参数),为了更好地恢复错误,我希望它们也可以作为nular运算符使用。我的问题是,Antlr更喜欢使用BINARY_OPERATOR作为一元表达式(或者在没有其他选择的情况下使用nualr表达式),而不是像我需要的那样在二进制表达式中使用它们。,考虑以下输入:for varDec from one to twelve do something,其中from、to和do是二进制操作符,解析器的输出如下:
如您所见,它将