《程序设计语言与编译》课程PPT教学课件(高职)第十九讲 代码生成和代码优化

第六章代码生成和代码优化 第o节符号表 在程序中,用户用标识符定义了不少名 字来代表不同的数据对象编译程序将这 些名字保存在符号表中。符号表除了记 录名字本身而外还记录了与名字关联的 各种属性信息
第六章 代码生成和代码优化 第o节 符号表 在程序中,用户用标识符定义了不少名 字来代表不同的数据对象,编译程序将这 些名字保存在符号表中。符号表除了记 录名字本身而外,还记录了与名字关联的 各种属性信息

符号表的一般形式 每个名字对应一个表项一个表项包括名 字域和信息域。 名字 信息
一. 符号表的一般形式 每个名字对应一个表项,一个表项包括名 字域和信息域。 名字 信息

其中,信息域通常设若干子域及标志位,其 内容可以是和名字有关的任何信息 类型种属长度相对地址数组的内情向量, 记录与分量的联系形参标志说明标志赋 值标志等。 因名字的长度、信息域的组成及长度可 能是各不相同的一般采用间接表技术
其中,信息域通常设若干子域及标志位,其 内容可以是和名字有关的任何信息: 类型,种属,长度,相对地址,数组的内情向量, 记录与分量的联系,形参标志,说明标志,赋 值标志等。 因名字的长度、信息域的组成及长度可 能是各不相同的,一般采用间接表技术

二.常用的符号表结构 1线性表用N个数组A,A2A来存 放符号表的N个子域 2HASH表
二. 常用的符号表结构 1. 线性表: 用N个数组A1 ,A2 ,…,AN来存 放符号表的N个子域 2. HASH表

第一节语义分析和中间代码生成 O.概述 1.语义分析的主要工作 (1)语义检查:如类型是否-致数组维 数是否正确。 (2)语义处理:对说明语句,登记信息;对 可执行语句生成中间代码
第一节 语义分析和中间代码生成 O. 概述 1. 语义分析的主要工作 (1)语义检查: 如类型是否一致,数组维 数是否正确。 (2)语义处理: 对说明语句,登记信息;对 可执行语句,生成中间代码

2.语法制导翻译 为每个产生式配上一个语义子程序在语 法分析过程中当用一个产生式进行匹配 或归约时,就调用相应的语义程序 上述语义子程序既可能包含了语义检查, 也可能包含了语义处理,其核心是为了生 成相应的中间代码
2. 语法制导翻译 为每个产生式配上一个语义子程序,在语 法分析过程中,当用一个产生式进行匹配 或归约时,就调用相应的语义程序。 上述语义子程序既可能包含了语义检查, 也可能包含了语义处理,其核心是为了生 成相应的中间代码

例:语法分析采用自底向上的LR分析法 X→>AB B的语义值 Y→CD BA A的语义值 Z→>XY 状态栈 符号栈 语义栈
例:语法分析采用自底向上的LR分析法 X→AB Y→CD Z→XY 状态栈 符号栈 语义栈 B A • • • B的语义值 A的语义值 • • •

Ⅹ的语义值 状态栈 符号栈 语义栈
状态栈 符号栈 语义栈 X • • • X的语义值 • • •

D的语义值 C C的语义值 X的语义值 状态栈 符号栈语义栈
状态栈 符号栈 语义栈 D C X • • • D的语义值 C的语义值 X的语义值 • • •

Y的语义值 X的语义值 状态栈 符号栈语义栈
状态栈 符号栈 语义栈 Y X • • • Y的语义值 X的语义值 • • •
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《程序设计语言与编译》课程PPT教学课件(高职)第十讲 程序设计语言和编译程序.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第十二讲 编译概述.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第十八讲 SLR分析表的构造.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第三讲 程序单元.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第七讲 抽象数据类型.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第六讲 类型检查.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第九讲 SIMULA 67协同程序.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第二十一讲 一类说明语句的翻译.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第二十五讲 循环优化.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第二十四讲 代码优化.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第二十三讲 控制语句也可采用改写文法的方法.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第二十七讲 栈式分配.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第二十六讲 运行时存储空间管理.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第二十讲 含数组元素的赋值语句的翻译.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第二十二讲 一类控制语句的翻译.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第二讲 强制式语言.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第八讲 控制结构.ppt
- 重庆大学材料学院:《计算机在材料工程中的应用》第一章 计算机应用的数学基础(汤爱涛).ppt
- 重庆大学材料学院:《计算机在材料工程中的应用》第五章 材料数据库与专家系统 (汤爱涛).ppt
- 重庆大学材料学院:《计算机在材料工程中的应用》第四章 计算机辅助材料的测试与分析(汤爱涛).ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第十六讲 优先关系表的构造.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第十七讲 LR分析法.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第十三讲 自顶向下语法分析.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第十四讲 预测分析程序.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第十五讲 自底向上语法分析.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第十一讲 自动机.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第四讲 用户定义类型.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第五讲 组合类型.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第一讲 绪论(主编:王晓斌).ppt
- 宜宾职业技术学院:《实用组网技术》课程教学资源_期末一.doc
- 宜宾职业技术学院:《实用组网技术》课程教学资源_实践考试方案.doc
- 宜宾职业技术学院:《实用组网技术》课程教学资源_期末二.doc
- 宜宾职业技术学院:《实用组网技术》课程教学资源_期末三.doc
- 宜宾职业技术学院:《实用组网技术》课程教学资源_网络工程方案设计.doc
- 宜宾职业技术学院:《实用组网技术》课程教学资源_OSPF 路由协议配置.doc
- 宜宾职业技术学院:《实用组网技术》课程教学资源_RIP 路由协议配置.doc
- 宜宾职业技术学院:《实用组网技术》课程教学资源_网络工程方案书写.doc
- 宜宾职业技术学院:《实用组网技术》课程教学资源_交换机访问.doc
- 宜宾职业技术学院:《实用组网技术》课程教学资源_交换机虚划分.doc
- 宜宾职业技术学院:《实用组网技术》课程教学资源_校园网投标书实例(一).doc