something like this(*(+ 1 2 3)5)
像*,+这样的运算符可以有两个以上的操作数。
答案 0 :(得分:0)
要使用无限数量的操作数来创建前缀表示法,您应该为开/关括号定义一些额外的规则(并且这不是前缀符号通常所做的那样)。
简单解析器将获取操作,第一个操作数并逐个添加其他操作数。在每一步上只创建新的操作节点,左操作数将采用前一个(当前)结果,右操作数将采用新获取的操作数。
继续到输入结束或关闭括号。不要从输入中删除关闭括号 - 它应该在打开 - 关闭解析部分处理,而不是在操作解析中处理。
取操作数很简单: