像这样的东西(*(+ 1 2 3)5)
像*,+这样的运算符可以有两个以上的操作数。
要使用无数个操作数进行前缀表示,您应该为开/闭括号定义一些其他规则(通常这不是前缀表示的作用)。
简单的解析器将接受操作,第一个操作数,然后将其他操作数一个接一个地添加。在每个步骤上,只需创建新的操作节点,左操作数将采用先前的(当前)结果,右操作数将采用新获取的操作数。
继续输入直至结尾或关闭方括号。不要从输入中删除右括号-应该在开-关解析部分中处理,而不是在操作解析中处理。
取操作数很简单:
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句