编译原理期末考试复习

编译原理期末考试复习

ID:8928957

大小:187.00 KB

页数:9页

时间:2018-04-12

编译原理期末考试复习_第1页
编译原理期末考试复习_第2页
编译原理期末考试复习_第3页
编译原理期末考试复习_第4页
编译原理期末考试复习_第5页
资源描述:

《编译原理期末考试复习》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第一章:1.编译程序的步骤和任务:1)词法分析:从左到右一个字符一个字符地读入源程序,对构成源程序的字符流进行扫描和分解,从而识别出一个个单词。2)语法分析:是在词法分析基础上将单词序列分解成各类语法短语(比如程序、语句、表达式等),通过语法分析确定整个输入串是否构成一个语法上正确的程序。3)语义分析:是审查源程序有无语义错误,为代码生成阶段收集类型信息。4)中间代码产生:将源程序变成一种易于翻译成目标代码的内部表示形式。5)代码优化:对前阶段生成的中间代码进行变换或改造,使生成的目标代码更为高效6)目标代码生成:把中间代码变换成特定机器上的绝对指令代码或可重定位的指令代码

2、或汇编指令代码。2.前端和后端的概念,试问前端通常包括那些阶段,后端包括那些阶段?答:前端只依赖于源语言,与目标机无关。编译程序的前端通常包括词法分析程序、语法分析程序、语义分析程序、中间代码生成程序及相关的表格管理程序和出错处理程序。后端是指编译器中依赖于目标机器的部分,只与中间代码有关。通常包括目标代码生成程序、代码优化程序以及相关的表格管理程序和出错处理程序。遍(PASS):对输入文件(源程序或其等价的中间语言程序)从头到尾扫视,完成预定处理的过程。一个多遍的编译程序较之一遍的编译程序可能少占内存,逻辑结构可能清晰些,但效率相对可能差点3.程序的正确与否:结构上的语法

3、规则,语义上的语义规则。翻译程序:汇编,解释,编译。4.解释程序及其与编译程序的比较解释程序功能:源程序+初始数据=计算结果解释与编译的区别:工作模式:这是根本区别,编译把源程序翻译成目标代码,而解释直接得到计算结果,不生成目标代码。存储区内容:编译方式翻译和执行分开,解释方式翻译和执行同时并允许修改源程序,因此二者存储组织不同。效率:解释慢于编译,很多语言两种方式都有。标识符:=表达式第三章:文法和语言1.文法的直观概念:一组判定规则。在实践中,文法不包含多余产生式。2.文法G定义为四元组(VT,VN,S,P),其中:VT是一个非空有穷终结符号集合;VN是一个非空有穷的非

4、终结符号集合,且VT∩VN=Φ;P是一个产生式的非空有穷集合(注意:产生式左部至少含有一个非终结符);SÎVN,称为开始符号,且S至少必须在某个产生式的左部出现一次。通常用V表示VN∪VT,V称为文法G的字母表或字汇表.3.句型、句子:设文法G,如果符号串x是从识别符号推导出来的,即S→x,x∈V*,则称x是一个句型。仅含终结符号的句型是一个句子。4.语言:语言L(G)是由文法G产生的所有句子所组成的集合。5文法的类型:逐渐对产生式施加限制四种类型:0型,1型,2型,3型0型:G=(VT,VN,S,P),规则形式:b®aa,Îb(VTÈVN)*,a中至少有一个非终结符1型(

5、上下文有关):½b½£½a½,仅S->e除外规则形式:aAb®agbAÎVN,a,g,bÎ(VTÈVN)*,ge¹2型(上下文无关):规则形式:Ab®AÎVN,bÎ(VTÈVN)*3型正规文法(右线性):A®aB或A®aA,BÎVN(左线性)A®Ba或A®aaÎVTÈ{e}6.最左(最右)推导在推导的任何一步αÞβ,其中α、β是句型,都是对α中的最左(右)非终结符进行替换规范推导:即最右推导。规范句型:由规范推导所得的句型。7.文法的二义性如果一个文法存在某个句子对应两棵不同的语法树,或者说,若一个文法中存在某个句子,它有两个不同的最左(最右)推导,则说这个文法是二义的.如

6、果产生上下文无关语言的每一个文法都是二义的,则说此语言是先天二义的。8.自上而下的分析方法:自上而下分析法,是从文法开始符号出发,反复使用各种产生式,逐步进行推导,直至推导出输入符号串。过程:自上而下方法是从文法识别符号开始,将它作为语法树的根,向下逐步建立语法树,使语法树的末端结点符号串正好是输入符号串。关键问题:假定要被代换的最左非终结符号是A,且有n条产生式:A®a1

7、a2

8、…

9、an,那么如何确定用哪个产生式右部去替代A?9.自下而上的分析方法:自下而上分析法,是从输入符号串开始,逐步进行归约,直至归约到文法的开始符号。过程:自下而上方法是从输入符号串开始,以它作为语

10、法树的末端结点,自底向上地构造语法树,使语法树的根结点正好是文法的开始符号。关键问题:因为分析工作的每一步都是从当前串中选择一个子串,将它归约到某个非终结符,暂且把这个子串称为可归约串,问题是,每一步如何确定这个可归约串?10.短语:若SÞ*αAδ且AÞ+β,则称β是句型αβδ相对于非终结符A的短语。直接短语:若SÞ*αAδ且AÞβ,则称β是句型αβδ相对于非终结符A的直接短语。句柄:一个句型的最左直接短语。(产生式的右部)11.子树:一棵语法树中一个特有的结点连同它的全部后裔,连接这些后裔的边以及这些结点的标记,

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

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

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