我是一个简单表达式编译器的开发者,但我卡在了如何使用Bison的优先级关键字上。
在我的词法分析器中,我定义了以下检查:
感谢您的帮助!
在我的词法分析器中,我定义了以下检查:
'-' {ECHO;return(MINUS);}
然而,我注意到在评估表达式时,“-”有两种含义,1)用于减法和2)用于对数字进行否定,并且两者具有不同的优先级。
在我的解析器文件中,如何使用%left和%right来定义结合性来解决这个问题?
我知道我可以这样做
%left PLUS
%left MINUS
... and so on
对于每个这样的标记,但由于否定具有右结合性和更高的优先级,我该如何在此处包含它,因为我认为我不能这样做
%left PLUS
%left MINUS
%right MINUS /* This is the negation one */
感谢您的帮助!