收藏 分享(赏)

编译原理.doc

上传人:无敌 文档编号:715804 上传时间:2018-04-19 格式:DOC 页数:3 大小:36.50KB
下载 相关 举报
编译原理.doc_第1页
第1页 / 共3页
编译原理.doc_第2页
第2页 / 共3页
编译原理.doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

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

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

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

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

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

6、义错误 C错误并校正 D语法错误4 文法分为四种类型,即 0 型、1 型、2 型、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(

7、) 节省存储空间,不便于表的修改 C( ) 便于优化处理,节省存储空间 D( ) 节省存储空间,不便于优化处理 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

8、)a . (2)b 是两类程序语言处理程序,他们的主要区别在于 (3)d .(1) a.系统软件 b.应用软件 c.实时系统 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.

9、(1)(2)(3)(4)4. 编译程序必须完成的工作有 a .(1) 词法分析 (2) 语法分析 (3) 语义分析(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 的闭包

10、V*中的所有符号串C.由文法的开始符号推出的所有终极符串D.由文法的开始符号推出的所有符号串7. 法 GN=(b,N,B,N,NbbB,BbN) ,该文法所描述的语言是C 。A. L(GN)=bii0 B. L(GN)=b2ii0 C. L(GN)=b2i+1i0 D. L(GN)=b 2i+1i18一个句型中的最左 B 称为该句型的句柄。可选项有:A. 短语 B. 简单短语 C. 素短语 D. 终结符号9. 设 G 是一个给定的文法,S 是文法的开始符号,如果 S x(其中 xV *),则称 x 是文法 G 的一个 B 。A. 候选式 B. 句型 C. 单词 D. 产生式10. 若一个文法是

11、递归的,则它所产生的语言的句子 A 。A.是无穷多个 B.是有穷多个 C.是可枚举的 D.个数是常量11. 在语法分析处理中,FIRST 集合、FOLLOW 集合、SELECT 集合均是 B 。A. 非终极符集 B.终极符集 C. 字母表 D. 状态集12. 在 LR 分析法中,分析栈中存放的状态是识别规范句型 C 的 DFA 状态。A.句柄 B. 前缀 C. 活前缀 D. LR(0)项目三、判断题1.计算机高级语言翻译成低级语言只有解释一种方式。 ()2.在编译中进行语法检查的目的是为了发现程序中所有错误。 ()3.正则文法其产生式为 Aa,ABb, A,BV N,a、bV T。 ()4.每

12、个文法都能改写为 LL(1)文法。 ()5.算符优先关系表不一定存在对应的优先函数。 ()6.自底而上语法分析方法的主要问题是候选式的选择。 ()7.LR 法是自顶向下语法分析方法。 ()8.简单优先文法允许任意两个产生式具有相同右部。 ()9.若一个句型中出现了某产生式的右部,则此右部一定是该句型的句柄。 ()10.一个句型的句柄一定是文法某产生式的右部。 ()11.数组元素的地址计算与数组的存储方式有关。 ()12.在程序中标识符的出现仅为使用性的。 ()13.仅考虑一个基本块,不能确定一个赋值是否真是无用的。 ()14.削减运算强度破坏了临时变量在一基本块内仅被定义一次的特性。 ()15

13、.在中间代码优化中循环上的优化主要有不变表达式外提和削减运算强度。 ()1. 设 r 和 s 分别是正规式,则有 L(r|s)=L(r)L(s)。()2确定的自动机以及不确定的自动机都能正确地识别正规集。()3词法分析作为单独的一遍来处理较好。 ( )4构造 LR 分析器的任务就是产生 LR 分析表。 ()5规范归约和规范推导是互逆的两个过程。 ( )6同心集的合并有可能产生新的“移进”/“归约”冲突。 ( )7LR 分析技术无法适用二义文法。 ( )8树形表示和四元式不便于优化,而三元式和间接三元式则便于优化。 ()9程序中的表达式语句在语义翻译时不需要回填技术。 ()10对中间代码的优化依

14、赖于具体的计算机。 ( )1 “ 用高级语言书写的源程序都必须通过编译,产生目标代码后才能投入运行 ”这种说法。( )8算符优先关系表不一定存在对应的优先函数。 ()9数组元素的地址计算与数组的存储方式有关。 ()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*

15、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)

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

当前位置:首页 > 企业管理 > 经营企划

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报