布林表示真或假。它也可以用 1 或 0 表示。布林表示式是返回真或假的表示式。布林表示式可以用兩種方式表示-條件表示式例如,如果 a > b{ cout Y)A = B + CSolution(1) 如果 A < B 轉到(4)(2) 如果 X > Y 轉到(4)(3) 轉到(6)(4) T = B + C(5) A = TExample3- 為 a > b 𝐀𝐍𝐃 c < d 𝐀𝐍𝐃 e < f 寫三地址碼。Solution(1) 如果 a > b 轉到(4)(2) t1 = 0(3) 轉到(5)(4) t1 = 1(5) 如果 c < d 轉到(8)(6) t2 = 0(7) 轉到(9)(8) t2 = 1(9) 如果 e < f 轉到(12)(10) t3 = 0(11) 轉到(13)(12) t3 = 1(13) t4 = t1 𝐀𝐍𝐃 t2(14) t5 = t4 𝐀𝐍𝐃 t3
賦值語句由一個表示式組成。它只涉及整型變數。抽象翻譯方案考慮一下語法,它包含一個賦值語句。S → id = EE → E + EE → E ∗ EE → −EE → (E)E → id此處 E 的翻譯可以有兩個屬性-𝐄. 𝐏𝐋𝐀𝐂𝐄- 它說明了將儲存表示式值的名稱。𝐄. 𝐂𝐎𝐃𝐄- 它表示一系列三地址語句,用於評估語法中的表示式 E 表示賦值語句。E. CODE 表示語句的三地址程式碼。左側非終結符的 CODE 是… 閱讀更多
三地址碼語句有三種實現方式,如下所示-四元式三元式間接三元式四元式四元式是一種最多包含四個欄位的結構,即運算子、引數 1、引數 2和結果。運算子引數 1引數 2結果對於語句 a = b + c,四元式表示將 + 放在運算子欄位中,將 a 放在引數 1 欄位中,將 b 放在引數 2 中,將 c 放在結果欄位中。例如- 考慮語句a = b + c * d首先,將此語句轉換為三地址程式碼∴ 三地址程式碼將為t1 = c ∗ dt2 = b + t1a = t2。在構造三… 閱讀更多
樹,其中每個葉節點描述一個運算元,每個內部節點描述一個運算子。語法樹是分析樹的簡化形式。示例 1- 為字串 a + b ∗ c − d 繪製語法樹。構造語法樹的規則語法樹中的每個節點都可以作為具有多個欄位的資料執行。在運算子的節點中,一個欄位識別運算子,其餘欄位包含指向運算元節點的指標。運算子稱為節點的標籤。以下函式用於建立節點… 閱讀更多