我正在创建一个解析树,其中包含类似于
例如:如果是
但是我不确定如何在C ++中实现这一点。
非常感谢任何帮助。
谢谢。
3 - 4 * 8
或
8 * -5
或
-(10 * 1)
的表达式。我需要一种方法来区分一元和二元减号。按照我的语法规则,二元减号先被执行,但我考虑改变这一点,并添加一个标志变量来保存最后一个变量。例如:如果是
5 - 6
那么标志变量将保存5,如果它看到减号并且该标志是一个数字,则跳过一元运算符并进行二元运算。但是我不确定如何在C ++中实现这一点。
非常感谢任何帮助。
谢谢。
UNARY_MINUS
和BINARY_MINUS
运算符即可。如果你是指在解析时,一元减号发生在你期望出现操作数而不是操作符时。 - Jerry Coffin