條件語句 四元式

2021-07-12 00:23:32 字數 927 閱讀 4713

寫出下面條件語句的四元式:

if   ad  then  x:=a+b   else  x:=a-b

1,a  and  b(如果a為0,就不用**b的結果了),對於當前的if語句而言,若:a>=b,則直接執行else

2,下面的語句加入是從位址為100開始的

3,語句中ad(e2),(e1t表示a

(j<,a,b,e1t),表示a

(j,-,-,ef),表示無條件跳轉,也就是說,當緊接著的指令不執行的時候,就會產生無條件跳轉指令

100    (j<,a,b,e1t)       e1t為待填位址,先用e1t表示

101    (j  ,- ,- ,ef  )        ef為待填位址,表示整個條件出錯

102    (j>,e,d,et  )        et為待填,表示整個語句正確(e2t,此刻就代表et),然後回填:

100    (j<,a,b,102)

103     (j,- ,- ,ef)           ef為待填,表示整個語句出錯

104     (+,a,b,t1)         t1暫存a+b,將位址回填

102    (j>,e,d,104)

105      (:=,t1,-,x)     將t1的值賦值給x

106      (j,- ,- ,s.next)   同樣的無條件跳轉

107      (-,a,b,t2)        t2暫存a-b,將位址回填

101    (j  ,- ,- ,107)

103     (j,- ,- ,107)

108       (:=,t2,-,x)   將t2的值賦值給x

109       。。。。。。。。     繼續執行if-else整體後面的語句,並且繼續將位址回填       

106      (j,- ,- ,109)

shell 條件判斷式語句

shell兩種判斷格式 test e root install.log e root install.log 最常用 d root echo yes echo no 第乙個判斷命令如果正確執行,則列印 yes 否則列印 no 建立個硬鏈結吧 root student.txt ef tmp stu.t...

(四)條件語句

if 判斷條件 執行語句 else 執行語句 例1 if 基本用法 flag false name luren if name python 判斷變數是否為 python flag true 條件成立時設定標誌為真 print welcome boss 並輸出歡迎資訊 else print name...

語義分析(輸出四元式)

編譯原理 課程實驗報告 實驗名稱 語義分析 姓名 學號 地點 四教302 教師 院系 專業 電腦科學與技術15 1 一 實驗目的 通過上機實習,加深對語法制導翻譯原理的理解,掌握將語法分析所識別的語法成分變換為中間 的語義翻譯方法。二 實驗內容 採用遞迴下降語法制導翻譯法,對算術表示式 賦值語句進行...