当前位置:文档之家› 编译原理概念期末总结复习

编译原理概念期末总结复习

翻译程序:把一种语言程序转换成另一种语言程序,且在功能上是相同的这样的程序。

编译程序:把高级语言转换成低级语言,且在功能上是相同的这样的程序。

解释程序:边解释边执行源程序的程序。

区别:编译程序有中间代码,而解释程序没有。

编译过程的五个阶段:
1、词法分析任务:对构成源程序的字符串进行扫描和分解,识别出一个个单词。

2、语法分析任务:在词法分析的基础上,根据语言规则,把单词符号串分解成各类语法
单位。

3、语义分析和中间代码产生任务:对语法分析所识别出的各类语法范畴,分析其含义,
并进行初步翻译。

4、优化任务:对前段产生的中间代码进行加工变换,以期在最后阶段能产生出更为高效
的目标代码。

5、目标代码生成任务:把中间代码变换成特定机器上的低级语言代码。

编译程序的七个部分词法分析器,语法分析器、语义分析与中间代码产生器、优化器、目标代码生成器、表格管理和出错处理。

编译程序生成的五个办法:机器语言、高级语言、移植、自编译方式和使用工具自动生成。

词法规则:指单词符号的形成规则。

(也就是正规式)
语法规则:规定了如何从单词符号形成更大的结构。

就是语法单位的形成规则。

空字:不包含任何符号的序列。

闭包: 中所有的符号组成的集合。

上下文无关文法是指:所定义的语法范畴是完全独立于这种范畴可能出现的环境的文法。

上下文无关文法的四个组成部分:一组终结符号、一组非终结符号、一个开始符号和一组产生式。

终结符号也就是不可再分的基本符号。

非终结符号是用来代表语法范畴,表示一定符号串的集合。

开始符号是语言中我们最感兴趣的语法范畴。

产生式是定义语法范畴的书写规则。

句子:文法中从开始符号推导的终结符号串。

句型:从开始符号推导的符号串。

语言:文法中所有句子的集合。

程序语言的单词符号分为五种:关键字、标识符、常数、运算符和界符。

二元式表示:(种类,属性)
正规式的运算符有三种:或,连接和闭包。

优先顺序是:闭包,连接,或。

DFA怎么识别字:若存在一条从初态结点到某一终态结点的通路,且这条通路上所有弧的标记符连接成的字是a,则称a可为DFA所识别。

DFA怎么识别空字:若DFA的初态结点同时又是终态结点,则空字可为DFA所识别。

NFA怎么识别字:若存在一条从某一初态结点到终态结点的通路,且这条通路上所有弧的标记字依序连接成的字等于a,则称a可为NFA识别。

NFA怎么识别空字:若M的某些结点即是初态又是终态结点,或者存在一条从某个初态结点到某个终态结点的空通路,那么,空字可为M所识别。

语言的语法结构是用上下文无关文法描述的。

语法分析分为两类:自上而下分析法,自下而上分析法。

自上而下分析法面临的问题:1.文法的左递归问题。

2.回溯3.成功可能是暂时的,产生虚假匹配。

4.难于知道输入串中出错的确切位置。

5.效率低,代价高。

为什么消除左递归?因为含有左递归的文法将自上而下分析的过程陷入无限循环。

为什么消除回溯?因为回溯统一做一大堆无效的工作。

自下而上分析法:从输入串开始,逐步进行归约,知道归约到文法的开始符号。

短语:符号串推导过程中某非终结符推导的部分。

直接短语:符号串推导过程中某非终结符一步推导的部分。

句柄:一个句型的最左直接短语。

最左归约是最有推导的逆过程。

中间语言形式:后缀式,三元式,四元式,间接三元式。

中间语言的好处:1.便于进行与机器无关的代码优化工作。

2.使编译程序改变目标机更容易。

3.使编译程序的结构在逻辑上更为简单,以中间语言为界面,编译前端和后端的借口更清晰。

相关主题