编译原理.doc

上传人:文库蛋蛋多 文档编号:2388290 上传时间:2023-02-17 格式:DOC 页数:3 大小:36.50KB
返回 下载 相关 举报
编译原理.doc_第1页
第1页 / 共3页
编译原理.doc_第2页
第2页 / 共3页
编译原理.doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《编译原理.doc》由会员分享,可在线阅读,更多相关《编译原理.doc(3页珍藏版)》请在三一办公上搜索。

1、一填空题1.编译程序的工作过程一般可以划分为 词法分析,语法分析,语义分析,之间代码生成,代码优化 等几个基本阶段,同时还会伴有 表格处理 和 出错处理 .2.若源程序是用高级语言编写的,目标程序是 机器语言程序或汇编程序 ,则其翻译程序称为编译程序.3. 若源程序是用高级语言编写的,目标程序是机器语言程序或汇编程序 ,则其翻译程序称为 编译程序 。4.所谓最右推导是指: 任何一步都是对中最右非终结符进行替换的 。5. .一个上下文无关文法所含四个组成部分是 一组终结符号、一组非终结符号、一个开始符号、一组产生式 6. 产生式是用于定义 语法成分 的一种书写规则。7.设G是一个给定的文法,S是

2、文法的开始符号,如果Sx(其中xV*),称x是文法的一个句型 。设G是一个给定的文法,S是文法的开始符号,如果Sx(其中xVT*),则称x是文法的一个句子。8. 语法分析最常用的两类方法是 自上而下 和 自下而上 分析法。9. 语法分析的任务是识别给定的终极符串是否为给定文法的句子。10. 自顶向下的语法分析方法的基本思想是:从文法的 开始符号 开始,根据给定的输入串并按照文法的产生式一步一步的向下进行直接推导,试图推导出文法的 句子 ,使之与给定的输入串匹配。11.自底向上的语法分析方法的基本思想是:从给定的终极符串开始,根据文法的规则一步一步的向上进行直接归约,试图归约到文法的 开始符号

3、。12.自底向上的语法分析方法的基本思想是:从输入串入手,利用文法的产生式一步一步地向上进行 直接归约 ,力求 归约 到文法的 开始符号 。13.简单优先方法每次归约当前句型的 句柄 ,算符优先方法每次归约当前句型的 最左素短语 ,二者都是不断移进输入符号,直到符号栈顶出现 可归约串 的尾,再向前找到 可归约串 的头,然后归约。14. 在LR(0)分析法的名称中,L的含义是 自左向右的扫描输入串 ,R的含义是 最左归约 ,0 的含义是 向貌似句柄的符号串后查看0个输入符号 。15.在SLR(1)分析法的名称中,S的含义是 简单的16. 终结符只有 综合属性 ,它们由词法分析器提供。17. 一个

4、过程相应的DISPLAY表的内容为 现行活动记录地址和所有外层最新活动记录的地址 18. 常用的两种动态存贮分配办法是 栈式 动态分配和 堆式 动态分配。19.常用的参数传递方式有 传地址 ,传值和传名20. 局部优化是局限于一个 基本块 范围内的一种优化。21.代码优化的主要目标是如何提高 目标程序的运行速度 和如何减少 目标程序运行时所需的空间1词法分析基于_正则_文法进行,即识别的单词是该类文法的句子。 2语法分析基于_上下文无关_文法进行,即识别的是该类文法的句子。语法分析的有效工具是_语法树_。3分析句型时,应用算符优先分析技术时,每步被直接归约的是_最左素短语_,而应用LR分析技术

5、时,每步被直接归约的是_句柄_。4语义分析阶段所生成的与源程序等价的中间表示形式可以有_逆波兰_、_四无式表示_与_三元式表示_等。6一个文法能用有穷多个规则描述无穷的符号串集合(语言)是因为文法中存在有_递归_定义的规则。 1.编译方式与解释方式的根本区别在于_是否生成目标代码_。2 对于一个文法G而言,如果L(G)中存在某个句子对应两棵不同的语法树,那么该文法就称为是二义的。二、单选题:2 词法分析器用于识别_c_。 A字符串 B语句 C单词 D标识符3 语法分析器则可以发现源程序中的_d_。A 语义错误 B 语法和语义错误 C错误并校正 D语法错误4 文法分为四种类型,即0型、1型、2型

6、、3型。其中3型文法是_b_。A. 短语文法 B正则文法 C 上下文有关文法 D上下文无关文法5 编译程序是对_d_。 A汇编程序的翻译 B高级语言程序的解释执行C 机器语言的执行D高级语言的翻译 4在规范归约中,用_B_来刻画可归约串。A( )直接短语 B( )句柄 C( )最左素短语 D( )素短语 5 若a为终结符,则A- a为_B_项目。A( )归约B( ) 移进 C( ) 接受 D( ) 待约 6间接三元式表示法的优点为_A_。 A( ) 采用间接码表,便于优化处理 B( ) 节省存储空间,不便于表的修改 C( ) 便于优化处理,节省存储空间 D( ) 节省存储空间,不便于优化处理

7、7基本块内的优化为_B_。A.代码外提,删除归纳变量B删除多余运算,删除无用赋值 C强度削弱,代码外提 D 循环展开,循环合并 8. 在目标代码生成阶段,符号表用_D_。A( ) 目标代码生成 B( ) 语义检查C( ) 语法检查 D( ) 地址分配1.词法分析器用于识别 c ,语法分析器则可以发现源程序中的d . (1) a.字符串 b.语句 c.单词 d.标识符 (2) a.语义错误 b.语法和语义错误 c.错误并校正 d.语法错误2.程序语言的语言处理程序是一种 (1)a . (2)b 是两类程序语言处理程序,他们的主要区别在于 (3)d . (1) a.系统软件 b.应用软件 c.实时

8、系统 d.分布式系统 (2) a.高级语言程序和低级语言程序 b.解释程序和编译程序 c.编译程序和操作系统 d.系统程序和应用程序 (3) a.单用户与多用户的差别 b.对用户程序的查错能力c.机器执行效率 d.是否生成目标代码3. 编译过程中,语法分析器的任务就是 b . (1) 分析单词是怎样构成的 (2) 分析单词串是如何构成语句和说明的 (3) 分析语句和说明是如何构成程序的 (4) 分析程序的结构a. (2)(3) b. (2)(3)(4) c. (1)(2)(3) d.(1)(2)(3)(4)4. 编译程序必须完成的工作有 a . (1) 词法分析 (2) 语法分析 (3) 语义

9、分析 (4) 代码生成 (5) 之间代码生成 (6) 代码优化a. (1)(2)(3)(4) b. (1)(2)(3)(4)(5) c. (1)(2)(3)(4)(5)(6) d. (1)(2)(3)(4)(6) e. (1)(2)(3)(5)(6)5. “用高级语言书写的源程序都必须通过编译,产生目标代码后才能投入运行”这种说法 a .a. 不正确 b.正确6. 文法G所描述的语言是 C 的集合。A.文法G的字母表V中所有符号组成的符号串B.文法G的字母表V的闭包V*中的所有符号串C.由文法的开始符号推出的所有终极符串D.由文法的开始符号推出的所有符号串7. 法GN=(b,N,B,N,Nbb

10、B,BbN),该文法所描述的语言是 C 。A. L(GN)=bii0 B. L(GN)=b2ii0 C. L(GN)=b2i+1i0 D. L(GN)=b2i+1i18一个句型中的最左 B 称为该句型的句柄。可选项有:A. 短语 B. 简单短语 C. 素短语 D. 终结符号9. 设G是一个给定的文法,S是文法的开始符号,如果Sx(其中xV*),则称x是文法G的一个 B 。A. 候选式 B. 句型 C. 单词 D. 产生式10. 若一个文法是递归的,则它所产生的语言的句子 A 。A.是无穷多个 B.是有穷多个 C.是可枚举的 D.个数是常量11. 在语法分析处理中,FIRST集合、FOLLOW集

11、合、SELECT集合均是 B 。A. 非终极符集 B.终极符集 C. 字母表 D. 状态集12. 在LR分析法中,分析栈中存放的状态是识别规范句型 C 的DFA状态。A.句柄 B. 前缀 C. 活前缀 D. LR(0)项目三、判断题1.计算机高级语言翻译成低级语言只有解释一种方式。 ()2.在编译中进行语法检查的目的是为了发现程序中所有错误。 ()3.正则文法其产生式为Aa,ABb, A,BVN,a、bVT。 ()4.每个文法都能改写为LL(1)文法。 ()5.算符优先关系表不一定存在对应的优先函数。 ()6.自底而上语法分析方法的主要问题是候选式的选择。 ()7.LR法是自顶向下语法分析方法

12、。 ()8.简单优先文法允许任意两个产生式具有相同右部。 ()9.若一个句型中出现了某产生式的右部,则此右部一定是该句型的句柄。 ()10.一个句型的句柄一定是文法某产生式的右部。 ()11.数组元素的地址计算与数组的存储方式有关。 ()12.在程序中标识符的出现仅为使用性的。 ()13.仅考虑一个基本块,不能确定一个赋值是否真是无用的。 ()14.削减运算强度破坏了临时变量在一基本块内仅被定义一次的特性。 ()15.在中间代码优化中循环上的优化主要有不变表达式外提和削减运算强度。 ()1. 设r和s分别是正规式,则有L(r|s)=L(r)L(s)。()2确定的自动机以及不确定的自动机都能正确

13、地识别正规集。()3词法分析作为单独的一遍来处理较好。 ( )4构造LR分析器的任务就是产生LR分析表。 ()5规范归约和规范推导是互逆的两个过程。 ( )6同心集的合并有可能产生新的“移进”/“归约”冲突。 ( )7LR分析技术无法适用二义文法。 ( )8树形表示和四元式不便于优化,而三元式和间接三元式则便于优化。 ()9程序中的表达式语句在语义翻译时不需要回填技术。 ()10对中间代码的优化依赖于具体的计算机。 ( )1“ 用高级语言书写的源程序都必须通过编译,产生目标代码后才能投入运行 ”这种说法。( )8算符优先关系表不一定存在对应的优先函数。 ()9数组元素的地址计算与数组的存储方式

14、有关。 ()10编译程序与具体的机器有关,与具体的语言无关。 ( )四 综合给定下列中缀式,分别写出等价的逆波兰表示(运算符优先级按常规理解)。(1)aba0b0解答:逆波兰表示为:aba0b0。(2)a(a*bd)*(ab*d)/d解答:逆波兰表示为:aab*dabd*d/。(3)ab0a0(ab)2解答:逆波兰表示为:ab0a0ab2。(4)a*(b*ca)bcd解答:逆波兰表示为:abc*a*bcd。7-07给定下列中缀式,分别写出等价的后缀式和四元式(运算符优先级按常规理解)。(1)(ab*c)/(ab)d解:后缀式:abc*+ab+/d- 四元式:(*,b, c, t1) (+, a, t1, t2) (+, a, b, t3 (/, t2,t3, t4) (-, t4,d, t5)(2)x+yza0四元式:(+,x, y, t1) (,t1,z, t2) (, a, 0, t3 (,t2,t3, t4)(3)xy0 (xy)2解:后缀式:xy+0xy-2 四元式:(+,x, y, t1) (,t1,0, t2) (-, x, y, t3 (, t3,2, t4) (,t2,t4,t5)(4)a:= (b*ca) * a解:后缀式:abc*a-a*:=四元式:(*,b, c, t1) (-, t1,a, t2) (*, t2, a, t3 (:=, t3, , a)

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

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号