-3
something like this(*(+ 1 2 3)5)
像*,+这样的运算符可以有两个以上的操作数。如何从前缀表示法构建二进制表达式树?
something like this(*(+ 1 2 3)5)
像*,+这样的运算符可以有两个以上的操作数。如何从前缀表示法构建二进制表达式树?
要使用无限数量的操作数创建前缀表示法,您应该为打开/关闭括号定义一些附加规则(并且这不是前缀表示法通常所做的)。
简单的解析器将执行操作,第一个操作数并逐个添加其他操作数。在每一步创建新的操作节点时,左操作数将取前一个(当前)结果,右操作数取新取的操作数。
继续输入或结束括号。不要从输入中删除左括号 - 它应该在开 - 关解析部分处理,而不是在操作解析中处理。
以操作很简单:
谢谢你亚历山大 – Gunasekar
也许某种搜索?如果只有一个工具可以搜索互联网.... –
如果你还没有做到这一点,请花一些时间阅读[帮助页面](http://stackoverflow.com/help),尤其是部分命名[“我可以问什么问题?”](http://stackoverflow.com/help/on-topic)和[“应避免问什么类型的问题?”](http://stackoverflow.com /帮助/不-问)。还请[参观](http://stackoverflow.com/tour)和[阅读如何提出好问题](http://stackoverflow.com/help/how-to-ask)。最后,请学习如何创建[最小,完整和可验证示例](http://stackoverflow.com/help/mcve)。 –