您现在的位置:首页 > 教案下载 > 正文

编译原理简明教程(第2版)[冯秀芳_崔冬华_段富][电子教案]第1章

2020-07-13 20:05 网络整理 教案网

计算机组成原理pdf下载_计算机操作系统教程 核心与设计原理习题7答案_计算机原理教案下载

编译原理简明教程》普通高等教育“十二五” 规划计算机教材---太原理工大学---计算机科学与技术学院---冯秀芳、 崔冬华、 段富等第一章 引言第二章 形式语言理论基础第三章 自动机理论基础第四章 词法探讨第五章 语法分析—自顶向下分析技巧第六章 语法剖析—自底向上分析方式第七章 语义探讨及中间代码的生成第八章 代码改进第九章 目 标代码的生成第十章 符号表第十一章 目 标程序运行时的储存组织与分配第十二章 出错处理第十三章 编译程序手动生成软件简介第十四章 面向对象语言的编译第十五章 并行编译技术目录第一章 引言学习目 标 了解跟掌握高级程序设计语言与编译程序的关系 了解跟掌握编译程序的功能 了解跟掌握编译程序的体系结构 了解跟掌握编译程序的工作过程 了解跟掌握编译程序的组织形式 了解跟掌握编译程序的构造方式“编译原理” , “编译技术” 是计算机专业一门重要的专业课。

计算机原理教案下载_计算机组成原理pdf下载_计算机操作系统教程 核心与设计原理习题7答案

目 的是平台地向学员讲授编译程序的基本构架。 阐述编译原理的通常理论跟常见的有效方式与科技。学习本课后, 使学员把握编译理论跟步骤方面的基本常识, 具有设计、 实现、 分析跟维护编译程序等方面的初步能力。主要内容: 形式语言与自 动机、 词法探讨、语法、 语义、 中间语言代码生成、 优化、 存储组织与分配、 程序的查错与处理等。 1. 1 编译程序、 汇编程序、 解释程序 1. 2 编译过程简述 1. 3 编译程序的结构框图 1. 4 编译程序的开发目 录1. 1程序的翻译及运行计算机平台:硬件工具: 系统软件: OS、 编译系统、 诊断平台 应用工具等程序设计语言:机器 汇编 高级翻译程序: 指可把A语言程序翻译成与之等价的B语言程序的程序。A语言----源程序B语言----目 标语言1. 1. 1 什么 是编译程序编译程序: A——高级语言B——机器语言1. 1. 2 汇编程序A语言——汇编语言(符号表示)B语言——机器语言1. 1. 3 解释程序不形成目标程序, 逐句翻译。

计算机组成原理pdf下载_计算机操作系统教程 核心与设计原理习题7答案_计算机原理教案下载

优点:l提供一种直接的交互调试能力, 在执行用户程序时可以设置用户程序。l 对新的类别能动态地设置, 如符号的含义。l提高良好的检测信息l不依赖于目 标机, 移植性较好。 缺点: 开销大、 速度慢如APL与编译程序相比 1: 100BASIC1: 10 事实上, 纯粹的解释程序并不多见, 通常做某些程序的结合。1. 2 编译过程简述综合探讨翻译英文资料阅读原文、 识别词汇分析语句的句型结构根据词语意义初步预测修辞加工写出译文编译源程序扫描源程序、 词法探讨语法剖析语义分析改进生成目 标代码编译程序通常分五个部分一、 词法分析输入源程序, 对源程序构成的字符串进行扫描和预测, 识别出一个个的词组, 如保留字、 标识符、 常数、特殊符号等。 如保留字(if、 for、 while等)、 标识符、常数、 特殊符号(标点符号、 左右括号、 运算符等)。例如, 对于C语言的循环语句:for ( i=1; i<= 100; i++) sum=sum+1;词法分析: 遵循词法规则, 描述词法规则正规式和有限自动机二、 语法剖析根据语言词汇规则, 把词法分析后的词组合成各种词汇单位(语法范畴) , 如“短语” , “句子” , “程序段” , “程序” 。

计算机操作系统教程 核心与设计原理习题7答案_计算机原理教案下载_计算机组成原理pdf下载

例: Z = X + 2*Y; 赋值语句遵循语法规则, 采用上下文无关文法描述。三、 语义探讨及中间代码的生成根据词义结构,分析其意义计算机原理教案下载, 并进行初步翻译(生成中间代码) , 或直接生成目标代码。例, 对常见的一些语言来说, 语义探讨生成语法成分的涵义和功能, 以及要进行的运算跟操作,而且应进行语义检查计算机原理教案下载, 如在表明语句中能否有冲突的类别说明;在表达式中, 对这些运算符而言, 是否有种类不匹配的运算对象; 在过程调用中, 实参和变量是否在个数、 次序、 种属等方面按相应语言的要求进行对应等等。“中间代码” 是一种含义明确、 便于处理的记号系统。如: 三元式、 四元式、 逆波兰型。例: 四元式(运算符, 第一运算量, 第二运算量, 结果)z = (x + 3)*y/w;(+ ,x,3,T1)(*,T1,y,T2)(/,T2, w,z)四、 代码改进优化的任务在于对前阶段形成的后面代码进行加工变换, 以期在最终阶段形成出更为高效(节省时间跟空间) 的目 标代码。 优化的主要方面有: 公共子表达式的提取、 循环优化、 删除无用代码等。 有时,为了 便于“并行运算” , 还可以对代码进行并行优化处理。

计算机原理教案下载_计算机组成原理pdf下载_计算机操作系统教程 核心与设计原理习题7答案

优化所遵循的方法是程序的等价变换规则。优化涉及的范围更广。与机器有关的从与准确计算机的关系分与机器无关的局部改进从与源程序的关系分全局优化五、 目 标代码生成把后面代码成为特定机器上的机器代码。这部分涉及至硬件, 如各类数据类别函数的储存空间分配, 寄存器的调度等。例: 尽量使用执行速度快的指令, 充分利用计算机的寄存器, 以削减访问存储所用时间等。1. 3 编译程序的构架框图信息表管理源程序目标代码生成目 标程序错误处理词法探讨优化语义分析词汇分析1. 4 编译程序的开发编译程序是一个非常复杂的硬件平台, 虽然编译理论跟科技不断发展, 开发周期增加, 但研制仍需长期时间。 追求目标过程自动化。1. 4. 1 开发方法1. 认真探讨, 合理分工2. 算法设计, 方案确认3. 语言选择, 编制程序4. 调试程序, 确保质量5. 资料整理, 文本形成1. 4. 2 开发科技一、 系统程序设计语言70年代以前, 用机器语言、 汇编语言, 手工编写工作量大、 可靠性差、 难以维护。80年代以后, 高级语言如PASCAL、 ADA、 C, 工作量大大减少, 缩短研发周期。系统程序程序设计语言:编写编译程序或其他平台工具的高级语言。

二、 开发科技1. 自编译: 用某一高级语言撰写其自己的编译程序。2. 交叉编译: A机器上的编译程序可形成B机器上的目标代码。3. 自展: 首先确认一个非常简洁的核心语言L0, 用机器的汇编语言写其编译程序T0, 扩充L0 L1,用L0写L1的T1, L1L2 ……滚雪球一样, 直到所需编程序。4. 移植: 将A机器上的某高级语言编译程序搬到B机器上运行。三、 自动生成已发生可行的, 但不梦想。源语言的定义机器语言的表述编译程序的手动生成工具编译程序如Unix下LEX词法分析程序自动构造软件工具YACC 语法分析程序手动构造软件工具Llama 编译程序生成软件工具Occs