布尔表示真或假。它也可以用 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 绘制语法树。构造语法树的规则语法树中的每个节点都可以作为具有多个字段的数据执行。在运算符的节点中,一个字段识别运算符,其余字段包含指向操作数节点的指针。运算符称为节点的标签。以下函数用于创建节点… 阅读更多