单击此处编辑母版标题样式单击此处编辑母版文本样式第二级第三级第四级第五级第7章 目标代码生成 目标代码生成是指把语法分析或优化后的中间代码变换成目标代码目标代码一般有如下形式: (1)能立即执行的机器语言代码如 或.EXE文件 (2)待装配的机器语言模块其地址为相对地址不能直接执行当需要执行时由连接装配程序把它们和其它运行程序和库函数连接起来装配
#
语法制导翻译简介.1 语法与语义<1> 语法制导翻译的基本思想通俗地讲:以语法分析为基础伴随语法分析的各个步骤执行相应的语义动作具体方法:将文法符号所代表的语言结构的意思用附着于该文法符号的属性表示用语义规则规定产生式所代表的语言结构之间的关系(即属性之间的关系)即用语义规则实现属性计算语义规则的执行:.2 属性与语义规则(续2)产生式L→EE→E1E2E→num post:(3 5 8 )产生
词法分析中间代码生成语义分析器三地址中间代码先根遍历生成前缀式: a d b c e运算分量栈 S2Operand stack运算分量栈 S2三地址中间代码 三地址:两个操作分量和一个结果的抽象地址为方便起见 通常用变量名代替抽象地址三元式No. (op operand1 operand2) 编号 (操作符 操作分量1 操作分量2)其中操作分量可以是变量名(抽象地址)或者编号四元式(o
2. 目标代码生成中的有关问题(1) 目标机目标语言的确定(2) 语言结构目标代码的确定(3) 运行时刻存储管理(4) 寄存器分配(5) 求值顺序的选择(6) 代码生成程序的设计 指令格式: Op R C (立即-----寄存器) Op R2 d(R1) (存储器-----寄存器) Op R1 R2 (寄存器-----寄存器) 几个常见
#
单击此处编辑母版标题样式单击此处编辑母版文本样式第二级第三级单击此处编辑母版标题样式单击此处编辑母版文本样式第二级第三级编译原理之语义分析华东交通大学软件学院万仲保第八章 语法制导翻译和中间代码生成属性文法语法制导翻译概论中间代码的形式简单赋值语句的翻译布尔表达式的翻译控制结构的翻译说明语句的翻译数组和结构的翻译属性文法属性属性文法示例例8.1例8.2属性定义:文法符号x?V的语义性质称为该文法符
1编译原理第十一章代码生成2词法分析器语法分析器语义分析与中间代码生成器优化段表格管理出错处理目标代码生成器编译程序总框3第十一章代码生成基本问题目标机器模型一个简单代码生成器4第十一章代码生成基本问题目标机器模型一个简单代码生成器5代码生成代码生成把语法分析后或优化后的中间代码变换成目标代码目标代码的三种形式绝对指令代码:能够立即执行的机器语言代码,所有地址已经定位可重新定位指令代码:待装配的机
1编译原理第十一章代码生成2第十一章代码生成目标代码形式代码生成着重考虑的问题一个简单代码生成器待用信息活跃信息寄存器描述信息变量地址描述信息代码生成算法3代码生成算法对每个四元式: i: A:=B op C,依次执行: 1 以四元式: i: A:=B op C 为参数,调用函数过程GETREG(i: A:=B op C),返回一个寄存器R,用作存放A的寄存器。 2 利用AVALUE[B]和AVA
JMP无条件转移到第二地址指定的内存单元JMPNEG若FlagReg中的值<0转移到第二地址指定的内存单元JMPPOS若FlagReg中的值>0转移到第二地址指定的内存单元JMPZERO若FlagReg中的值0转移到第二地址指定的内存单元HALT终止程序执行②第一地址为寄存器(R0-R3)③寻址方式和第二地址直接地址寻址(M)Load Ri MXX(XX)→RiXX范围0-255(第0页)用16
违法有害信息,请在下方选择原因提交举报