我正在编写bash shell的模拟,它将具有普通shell功能的子集。我必须评估表达式,例如:
(echo "hello world!" && ls -a) || (echo "another one" && cat main.cpp)
表达式仍然必须从左到右求值。我将它的表达式从其后缀形式转换为后缀,然后从后缀形式创建一个表达式树。
我的问题是,由于bash shell的连接器的性质,我没有运算符优先级,但是我仍然需要处理括号。
我已经做了大量研究,但是似乎无法在网上找到没有运算符优先级但仍然存在括号的示例。
有人知道如何修改(如果有修改)后缀算法的标准后缀以处理此问题?