编译原理简答题答案.docx

上传人:scccc 文档编号:12611297 上传时间:2021-12-05 格式:DOCX 页数:2 大小:74.73KB
返回 下载 相关 举报
编译原理简答题答案.docx_第1页
第1页 / 共2页
编译原理简答题答案.docx_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

《编译原理简答题答案.docx》由会员分享,可在线阅读,更多相关《编译原理简答题答案.docx(2页珍藏版)》请在三一文库上搜索。

1、(1)简述规范归约的基本思想。(第五章课件第5张)用一个寄存符号的先进后出栈,把输入符号一个一个地移进到栈里,当栈顶 形成某个产生式的候选式时,即把栈顶的这一部分替换成(归名为)该产生式的左 部符号。(2)阐述编译程序各个组成部分主要完成的工作。(课本P2P4)词法分析的任务:输入源程序,对构成源程序的字符串进行扫描和分解,识 别出一个个的单词。语法分析:在词法分析的基础上,根据语言的语法规则,把单词符号用分解 成各类语法单位。语义分析与中间代码产生:对语法分析所识别出的各类语法范畴, 分析其含 义,并进行初步翻译。优化:在于对前段产生的中间代码进行加工变换,以期在最后阶段能产生出更为高效的目

2、标代码。目标代码生成:把中间代码变换成特定机器上的低级语言代码。(3)什么是编译器的前端和后端,这样划分有何意义?(课本P7)编译器粗略分为词法分析,语法分析,类型检查,中间代码生成,代码优化,目标代码生成,目标代码优化。把中间代码生成及之前阶段划分问编译器的前端,那么后端与前端是独立的。后端只需要一种中间代码表示, 可以是三地址代码或四元式等, 而这些都与 前端生成的方式无关。也就是不论你前端是用 fortran还是c/c+,只要生成了中 间代码表示就可以了,后端是不管你是用哪种语言生成的。(4)乔姆斯基把文法分为哪几种类型?对这几种类型文法作简要说明。(课本 P34)把文法分成四种类型:0

3、, 1, 2, 3型。与上下文无关文法一样,它们都由 四部分组成,但对产生式的限制有所不同。0型(短语文法,图灵机):产生式形如:ut P其中:=(VT a VN)*且至 少含有一个非终结符;' (VT - VN)*1型(上下文有关文法,线性界限自动机):产生式形如:ut P其中:|四曲。仅ST例外,但此时S不得出现在任何产生式的右部。2型(上下文无关文法,非确定下推自动机):产生式形如: A t P其中: A 三 VN; wP (VT 2 VN)*。3型(正规文法,有限自动机):产生式形如:A t aB或A t a其中:a VT 2 今;A, BVN产生式形如: A t Ba或 A

4、Ta其中:a三VT = 8; A, BVNo(5)简述编译过程中遍的概念以及遍数的多少对编译器设计的影响。(参考课本P7)遍的概念:对源程序或源程序的中间结果从头到尾扫描一次,并作有关的加工处理,生成新的中间结果或目标程序。遍可以和阶段相应,也可无关遍中通常含有若干个阶段。实际上,根据 语言的不同,编译器可以是一遍(onepas§ 所有的阶段由一遍完成,具结 果是编译得很好,但(通常)代码却不太有效。Pascal语言和C语言均允许单遍 编译。(Modula-2语言的结构则要求编译器至少有两遍)。大多数带有优化的编 译器都需要超过一遍:典型的安排是将一遍用于扫描和分析, 将另一遍用于语义 分析和源代码层优化,第3遍用于代码生成和目标层的优化。更深层的优化则可 能需要更多的遍:5遍、6遍、甚至8遍都是可能的。备注:由于最后一道没有找到比较好的答案,欢迎大家补充

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1