2010-07-05 71 views

回答

6

後綴符號的整點是消除括號中間符號,讓你可以更容易地計算表達式。如果你當前的算法不允許在中綴表達式中使用括號,那麼你使用的算法不好。

即使中綴版本有括號,shunting yard algorithm也允許您從中綴轉換爲後綴。

+0

嗨弗拉德,我發現我使用的算法是一個「精簡」分流院子。隨着維基百科的信息,我能夠適應它。非常感謝! – Aaginor 2010-07-07 16:24:51

0

作爲一種替代方案,算術表達式的語法非常簡單,您可以輕鬆實現遞歸下降解析器來評估表達式。

語法會是這個樣子:

<expression> ::= <term> <add_sub> <expression> 
<term> ::= <factor> <mul_div> <term> 
<factor> ::= '(' <expression> ')' | <number> 
<add_sub> ::= '+' | '-' 
<mul_div> ::= '*' | '/' 

(你必須定義爲整數,浮點值,分數等,這取決於你的需求)

上面的語法需要照顧括號和運營商優先