編譯原理例題

編譯原理例題

寫出算術表達式:A+B(CD)+E/(CD)NA+B*(C-D)+E/(C-D)↑N(↑指乘方)

  • (1)四元式
    (2)三元式
    (3)間接三元式
    (4)逆波蘭記號

解:

  • 四元式:
    (1) (, C, D, t1)(1)\ (-,\ C,\ D,\ t_1)
    (2) (, B, t1, t2)(2)\ (*,\ B,\ t_1,\ t_2)
    (3) (+, A, t2, t3)(3)\ (+,\ A,\ t_2,\ t_3)
    (4) (, C, D, t4)(4)\ (-,\ C,\ D,\ t_4)
    (5) (, t4, N, t5)(5)\ (↑,\ t_4,\ N,\ t_5)
    (6) (/, E, t5, t6)(6)\ (/,\ E,\ t_5,\ t_6)
    (7) (+, t3, t6, t7)(7)\ (+,\ t_3,\ t_6,\ t_7)
  • 三元式:
    (1) (, C, D)(1)\ (-,\ C,\ D)
    (2) (, B, (1))(2)\ (*,\ B,\ (1))
    (3) (+, A, (2))(3)\ (+,\ A,\ (2))
    (4) (, C, D)(4)\ (-,\ C,\ D)
    (5) (, (4), N)(5)\ (↑,\ (4),\ N)
    (6) (/, E, (5))(6)\ (/,\ E,\ (5))
    (7) (+, (3), (6))(7)\ (+,\ (3),\ (6))
  • 間接三元式
    (1) (, C, D)(1)\ (-,\ C,\ D)
    (2) (, B, (1))(2)\ (*,\ B,\ (1))
    (3) (+, A, (2))(3)\ (+,\ A,\ (2))
    (4) (, (1), N)(4)\ (↑,\ (1),\ N)
    (5) (/, E, (4))(5)\ (/,\ E,\ (4))
    (6) (+, (3), (5))(6)\ (+,\ (3),\ (5))
  • 逆波蘭記號
    ABCD+ECDN/+ABCD-*+ECD-N↑/+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章