编译原理复习要点文档格式.docx
- 文档编号:15103676
- 上传时间:2022-10-27
- 格式:DOCX
- 页数:33
- 大小:1.91MB
编译原理复习要点文档格式.docx
《编译原理复习要点文档格式.docx》由会员分享,可在线阅读,更多相关《编译原理复习要点文档格式.docx(33页珍藏版)》请在冰豆网上搜索。
要在某一台机器上为某种语言构造一个编译程序,必须掌握下述三方面的内容:
1、源语言,对被编译的源语言,要深刻理解其结构(语法)和含义(语义);
2、目标语言,假定目标语言是机器语言,那么,就必须搞清楚硬件的系统结构和操作系统的功能;
3、编译方法,把一种语言程序翻译为另一种语言程序方法很多,但必须准确地掌握一二。
0型文法(短语文法,图灵机):
对文法G,如果它的每个产生式α→β是这样的一种结构:
α∈(VN∪VT)*且至少含有一个非终结符
β∈(VN∪VT)*
0型文法相应的语言为0型语言,或称递归可枚举集,它的识别系统是图灵(Turing)机。
如文法G,其中VN={A,B,S}VT={0,1}
P={S→0AB1B→0
B→SA|01A1→SB1A0→S0B}
1型文法(上下文有关):
它是0型文法的特例,对P中的任一产生式α→β,都|β|≥|α|,仅仅S→ε除外,但S不得出现在任何产生式的右部。
1型文法相应的语言称为1型语言或上下文有关语言,它的识别系统是线性有界自动机。
例文法G[S]:
S→aSBES→aBEEB→BE
aB→abbB→bbbE→beeE→ee
❑2型文法(上下文无关文法):
它是1型文法的特例,对任一产生式α→β,都有α∈VN,β∈(VN∪VT)*
❑2型文法相应的语言称为2型语言或上下文无关语言。
它的识别系统是下推自动机。
❑例文法G[S]:
S→ABA→BS|0B→SA|1
Ø
2型文法产生式的一般形式是:
A→β,它表示不管A的上下文如何都可把A替换成β,因此被称为上下文无关文法。
3型文法(正规文法):
它是2型文法的特例,任一产生式α→β的形式都为A→aB或A→a,其中A,B∈VN,a∈VT
这种形式的3型文法也叫右线性文法。
3型文法还有一种形式,限定P中的每一个产生式形如A→Bα或A→α,称为左线性文法。
3型文法描述的语言称为3型语言或正规语言(也称正规集),由有穷自动机识别。
例如文法G[S]:
S→0A|1B|0
A→0A|1B|0S
B→1B|1|0
词法分析的任务:
从左至右逐个字符地对源程序进行扫描,产生一个个的单词符号,把作为字符串的源程序改造成为单词符号串的中间程序。
因此,词法分析是编译的基础。
执行词法分析的程序称词法分析器,简称扫描器。
功能:
输入源程序,输出单词符号。
单词符号是一个程序语言的基本语法符号。
程序语言的单词符号一般可分为下列五种:
关键字、标识符、常数、运算符、界符
⏹预处理子程序:
剔除无用的空白、跳格、回车和换行等编辑性字符;
区分标号区、连接续行和给出句末符等
⏹正规集是字母表Σ上的符合一定规则的符号串构成的集合
正规表达式是一种适合描述符号的表示法,可由它定义正规集。
将正规表达式转换成有线自动机
DFA化简
⏹一般地,对某个a和I(i),若Ia(i)落入现行∏中N个不同子集,则应把I(i)划分成N个不相交的组,使得每个组J的Ja都落入的∏同一子集。
这样构成新的划分。
⏹重复上述过程,直到∏所含子集数不再增长。
⏹对于上述最后划分∏中的每个子集,我们选取每个子集I中的一个状态代表其他状态,则可得到化简后的DFAM’。
⏹若I含有原来的初态,则其代表为新的初态,若I含有原来的终态,则其代表为新的终态。
•语法分析的任务是分析一个文法的句子结构。
•语法分析器的功能:
按照文法的产生式(语言的语法规则),识别输入符号串是否为一个句子(合式程序)。
•
•仅仅使用综合属性的属性文法称S-属性文法
窥孔优化方法是通过考察一小段目标指令(称为窥孔)并把这些指令替换为更短和更快的一级指令,从而提高目标代码的质量。
窥孔是目标程序中的一个可移动的小窗口,窥孔中的代码不一定是相邻的,窥孔优化的一个特点是:
优化后新产生的结果可能会给后面的优化提供进一步的机会。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编译 原理 复习 要点