我一直在用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