#
单击此处编辑母版标题样式单击此处编辑母版文本样式第二级第三级第四级第五级第7章 目标代码生成 目标代码生成是指把语法分析或优化后的中间代码变换成目标代码目标代码一般有如下形式: (1)能立即执行的机器语言代码如 或.EXE文件 (2)待装配的机器语言模块其地址为相对地址不能直接执行当需要执行时由连接装配程序把它们和其它运行程序和库函数连接起来装配
JMP无条件转移到第二地址指定的内存单元JMPNEG若FlagReg中的值<0转移到第二地址指定的内存单元JMPPOS若FlagReg中的值>0转移到第二地址指定的内存单元JMPZERO若FlagReg中的值0转移到第二地址指定的内存单元HALT终止程序执行②第一地址为寄存器(R0-R3)③寻址方式和第二地址直接地址寻址(M)Load Ri MXX(XX)→RiXX范围0-255(第0页)用16
词法分析中间代码生成语义分析器三地址中间代码先根遍历生成前缀式: a d b c e运算分量栈 S2Operand stack运算分量栈 S2三地址中间代码 三地址:两个操作分量和一个结果的抽象地址为方便起见 通常用变量名代替抽象地址三元式No. (op operand1 operand2) 编号 (操作符 操作分量1 操作分量2)其中操作分量可以是变量名(抽象地址)或者编号四元式(o
单击此处编辑母版标题样式单击此处编辑母版标题样式 第9章 目标代码生成 编译程序最后一个阶段是目标代码生成它通常在语义分析后或者优化后的中间代码上进行并将中间代码转化为等价的目标代码 本章主要介绍 简单代码生成器的设计和构造方法 9.1 概述我们知道编译程序的最终目的是将源程序翻译成等价的目标程序为了达到此目的编译程序除了对源程序进行词法分析语法分析和语义分析外还必需将语义分析后或者优
单击此处编辑母版标题样式单击此处编辑母版文本样式第二级第三级单击此处编辑母版标题样式单击此处编辑母版文本样式第二级第三级编译原理之语义分析华东交通大学软件学院万仲保第八章 语法制导翻译和中间代码生成属性文法语法制导翻译概论中间代码的形式简单赋值语句的翻译布尔表达式的翻译控制结构的翻译说明语句的翻译数组和结构的翻译属性文法属性属性文法示例例8.1例8.2属性定义:文法符号x?V的语义性质称为该文法符
语法制导翻译简介.1 语法与语义<1> 语法制导翻译的基本思想通俗地讲:以语法分析为基础伴随语法分析的各个步骤执行相应的语义动作具体方法:将文法符号所代表的语言结构的意思用附着于该文法符号的属性表示用语义规则规定产生式所代表的语言结构之间的关系(即属性之间的关系)即用语义规则实现属性计算语义规则的执行:.2 属性与语义规则(续2)产生式L→EE→E1E2E→num post:(3 5 8 )产生
1与L→E相连的语义规则是一个过程打印E的值理解为L的属性是虚的或空的 2ETF的属性val都为综合属性3lexval 是单词 digit 的属性(由词法程序提供)id1addtypeval[top] := val[top]val[top2]FJ:表示按假转<左部><表达式的逆波兰式> ::=例 :AB(C-D)E(C-D)N格式: <序号> RJ<标号> LJx a b - := 无条件转移
2. 目标代码生成中的有关问题(1) 目标机目标语言的确定(2) 语言结构目标代码的确定(3) 运行时刻存储管理(4) 寄存器分配(5) 求值顺序的选择(6) 代码生成程序的设计 指令格式: Op R C (立即-----寄存器) Op R2 d(R1) (存储器-----寄存器) Op R1 R2 (寄存器-----寄存器) 几个常见
#
违法有害信息,请在下方选择原因提交举报