我一直在用java编写一个表达式求值器并且出于沮丧,我也来到这里来询问它。我现在至少重写了15次,每次都无济于事。前缀后缀中缀Java表达式求值器
基本上我需要在前缀,中缀或后缀中取一个字符串并将其评估为整数。该表达式可以使用java中包含的任何算术运算符。
即时通讯存在的问题: - 当我尝试解析表达式树或将它们全部解析为后缀时,我对单项运算符有问题。 - 我无法将它识别为一个数字的多位数字,随后它毁坏整棵树或切换数字。 - 我无法让程序找出正确放置圆括号的位置,我无法使用堆栈来识别开始和括号的末尾。
所以基本上程序需要做到这一点:
对于任何任意数字ABCDEF
评估的前缀后缀和中缀:
A-- + ++乙 - --C * d +/E%F
对于任何任意的比特ABCDEFG和数目n
评估在前缀,后缀和缀: A & B | C 1〜d
N >>一
ň< <一个
我的课本是没有太大的帮助,也不是我已下令,我真的不知道如何做到这一点的书,请帮助,即使只是解释如何做到这一点对我来说也足够了。感谢您的帮助:D
是否有任何地方可以指示我学习递归下降解析,我认为这必须是一个非常常见的计算机科学项目。 =/ – user1152918 2012-01-17 04:48:53
维基百科的文章是一个好的开始:http://en.wikipedia.org/wiki/Recursive_descent_parser – 2012-01-17 12:28:54