[英]Prefix Postfix Infix Java expression evaluator
我一直在研究java中的表达式评估器,出于挫折感,我也来这里询问它。 我现在已经重写了至少15次,但都无济于事。
基本上我需要在前缀,中缀或后缀中使用String并将其计算为整数。 表达式可以使用java中包含的任何算术运算符。
我遇到的问题: - 当我尝试解析表达式树或将它们全部解析为postfix时,我遇到了单项式运算符的问题。 - 我无法将它识别为一个数字作为一个数字,随后它会破坏整个树或它绕数字切换。 - 我无法让程序找出正确放下括号的位置,我无法通过堆栈识别括号的结束和结束。
所以基本上程序需要这样做:
对于任意数字ABCDEF
在前缀postfix和中缀中进行评估:
A-- + ++ B - - C * D ++ / E%F
对于任意位ABCDEFG和数字n
评估前缀,后缀和中缀:A&B | C ^ ~D
n >> A
n << A
我的教科书没有多大帮助,也没有我订购的书籍,我真的无法理解如何做到这一点,请帮忙,即使只是解释如何做到这一点对我来说也足够好。 谢谢你的帮助:D
假设您已经成功标记了所有标识符,运算符和文字,下一步就是阅读一些关于递归下降解析器的内容。 对于这种情况,您可以手动编写一个,而不是试图弄清楚如何使用解析器生成器。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.