编译原理考试重点整理

编译原理考试重点整理

ID:8151491

大小:42.50 KB

页数:2页

时间:2018-03-07

编译原理考试重点整理_第1页
编译原理考试重点整理_第2页
资源描述:

《编译原理考试重点整理》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、第一章1.编译程序:能够把某一种语言程序转换成另一种语言程序,而后者与前者在逻辑上是等价的一种程序。通常是从高级语言转换成为低级语言。2.解释程序:它以该语言写的源程序作为输入,但是不产生目标代码,而是边解释边执行源程序本身。3.诊断编译程序:专门用于帮助程序开发和调试的编译程序。4.优化编译程序:着重于提高目标代码效率的编译程序。5.宿主机:运行编译程序的计算机。6.目标机:运行编译程序所产生目标代码的计算机。7.交叉编译程序:一个程序产生不同于宿主机的机器代码的程序。8.可变目标编译程序:如果不需要重新编译程序中与机器无关的部分就能改变目标机,则该编译程序就叫做

2、可变目标编译程序。PS:世界上第一个编译程序——FORTRAN编译程序——20世纪50年代9.编译过程l第一阶段:词法分析——词法分析器1)任务:输入源程序,对构成源程序的字符串进行扫描和分解,识别出一个个的单词(亦称单词符号或简称符号),标示符,常熟,算符和界符。2)单词符号是语言的基本组成成分,是人们理解和编程的基本要素。3)描述词法规则的有效工具是:正规式和有限自动机l第二阶段:语法分析——(词法)分析器1)任务:在词法分析的基础上,根据语言的语法规则,把单词符号分解成各类语法单位,如“短语”、“子句”、“句子”、“程序段”和“程序”等。通过语法分析,确定整个

3、输入串是否构成语法上正确的“程序”。2)语法分析所依据的是语言的语法规则。通常是上下文无关文法描述、3)词法分析是一种线性分析,而语法分析是一种层次结构分析。l第三阶段:语义分析和中间代码产生——语义分析器1)任务:对语法分析所识别出的各类语法范畴,分析其含义,并进行初步翻译(产生中间代码)。2)对每种语法范畴进行静态语义检查—>进行中间代码的翻译。3)语义分析所依据的是语言的语义规则,通常使用属性文法描述语义规则。4)中间代码:一种含义明确、便于处理的记号系统,它通常独立于具体的硬件。5)中间代码的四元式表示形式。此外还有三元式、间接三元式、逆波兰记号和树。算符左

4、操作数右操作数结果l第四阶段:优化——优化器1)任务:在于前段产生的中间代码进行加工交换,,以期在最后阶段能产生更为高效(省时间和空间)的目标代码。2)优化的主要方面有:公共字表达式、优化循环、删除无用代码等等。3)优化所依据的原则:程序的等价变化原则。l第五阶段:目标代码生成——目标代码生成器1)任务:吧中间代码(或经优化处理后)变换成特定机器上的低级语言代码。2)形式:绝对指令代码或可重定位的指令代码或汇编指令代码。10.编译程序的结构表格管理l语法错误:指源程序中不符合语法(或词法)规则的错误,他们可在词法分析和语法分析时检测出来l语法错误:指源程序中不符合语

5、义规则的错误,一般在语义分析时检测出来,有的要在运行时才能检测出来。通常有:说明错误、作用域错误、类型不一致等l遍:对源程序或源程序的中间结果从头到尾扫描一次,并作有关的加工处理,生成新的中间结果或目标程序。l编译前段:由与源程序有关但与目标程序无关的那些部分组成。包括词法分析、语法分析、语义分析与中间代码和一些优化工作。l编译后端:编译程序中与目标机有关的那些部分,后端不依赖于源语言而仅仅依赖于中间语言。l集成化的程序设计环境的特点:它将相互独立的程序设计工具集成起来,以使为程序员提供完整的、一体化的支持,从而进一步提高程序开放效率,改善程序质量。1.T形图

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。