表達式轉(zhuǎn)換成逆波蘭式 一般算術(shù)表達式轉(zhuǎn)化為逆波蘭式?
一般算術(shù)表達式轉(zhuǎn)化為逆波蘭式?表達式e后綴形式的定義:(1)如果e是變量或常量,則e的后綴形式為e本身;(2)如果e是E1*E2的形式(其中*表示任何二進制運算),則e的后綴形式為e“1 e”2*,e
一般算術(shù)表達式轉(zhuǎn)化為逆波蘭式?
表達式e后綴形式的定義:(1)如果e是變量或常量,則e的后綴形式為e本身;(2)如果e是E1*E2的形式(其中*表示任何二進制運算),則e的后綴形式為e“1 e”2*,e“1和e”2分別為E1和E2的后綴表達式;(3) 如果e是(E1)形式的表達式,那么e的后綴表達式就是E1的后綴表達式。所以波蘭語表達式的倒裝與運算符的優(yōu)先級無關(guān)。具體算法比較困難,要使用DAG圖或三元圖,這是編譯原理中使用較多的。根據(jù)逆波蘭表達式計算相對簡單。堆棧用于依次將字符串讀入堆棧。遇到運算符時,將堆棧頂部的兩個元素取出進行操作,并將操作結(jié)果推入堆棧,直到讀取整個字符。