1. 程式人生 > >編譯原理:將a+d*(b-c) 寫成逆波蘭表示式

編譯原理:將a+d*(b-c) 寫成逆波蘭表示式

逆波蘭表示式示例

1. a+b  改為  ab+

2. (a+b)*(c+d)  改為  ab+cd+*

3. a+d*(b-c)  改為  adbc-*+

逆波蘭表示式又叫做字尾表示式,顧名思義,如示例1,就是把運算子放在元素之後。

示例2:先算括號裡的,就是a+b 和c+d,變為ab+和cd+,再把這兩個式子看做兩個元素,如x*y 變成xy*,

所以原式最終變為ab+cd+*

示例3

第一步: b-c  :  bc-

第二步: d*(bc-) : dbc-*

第三步: a+(dbc-*) :  adbc-*+