gpt4 book ai didi

algorithm - 更改运算符优先级

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:36:59 26 4
gpt4 key购买 nike

更改具体表达式的运算符优先级的最佳方法是什么?

例如我有一个类:

class A(){ 
def multiply(a) {
...
}

def plus(a) {
...
}

def minus(b) {
...
}

}

a = new A()
b = new A()
c = new A()

d = a + (b - c) * d

由于乘法的优先级高于 +- 我得到一个 AST 形式

  +
/ \
a *
/ \
- d
/ \
b c

将其转换为树的最简单方法是什么,其中 * 的优先级低于 +-。我假设括号只允许对 -+ 进行分组,即表达式 (a * b - c) * d 无效并且不应将其作为输入。

最佳答案

您只需在代码中添加括号即可。与使用 AST 转换相比,这可能会使您的代码更容易理解。

关于algorithm - 更改运算符优先级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6239885/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com