我没有编译器背景,所以我不确定这在该领域是否常见。是否有任何标准技术来解析这样的表达式?(比如说,标签表示深度)
And
A + B = 1
C + D = 1
Or
P + Q = 1
K = 1
And
Q = 1
R = 2
应该解析为:
((A+B=1) AND (C+D=1) AND ((P+Q=1) OR (K=1)) AND ((Q=1) AND (R=2)))
我不确定我是否应该诉诸基于堆栈的评估?我目前正在尝试一个,如果我能让它运行,我会发布一个工作代码。
关于实现这一目标的简单方法有什么建议吗?