《编译原理》期末考试复习题

更新时间:2023-10-05 21:15:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《编译原理》期末考试复习题

一、是非题(请在括号内,正确的划√,错误的划×)(每个2分,共20分) ×1.计算机高级语言翻译成低级语言只有解释一种方式。() ×2.在编译中进行语法检查的目的是为了发现程序中所有错误。()

√3.甲机上的某编译程序在乙机上能直接使用的必要条件是甲机和乙机的操作系统功能完全相同。 ()

×4.正则文法其产生式为 A->a , A->Bb, A,B∈VN , a 、 b∈VT 。 () √5.每个文法都能改写为 LL(1) 文法。 ()

√6.递归下降法允许任一非终极符是直接左递归的。 () ×7.算符优先关系表不一定存在对应的优先函数。 () ×8.自底而上语法分析方法的主要问题是候选式的选择。 () ×9.LR 法是自顶向下语法分析方法。 ()

×10.简单优先文法允许任意两个产生式具有相同右部。 () 三、填空题(每空1分,共10分)

1.编译程序的工作过程一般可以划分为词法分析,语法分析,语义分析,中间代码生成,代码优化等几个基本阶段,同时还会伴有__ ___和 ___ _。

表格管理 出错处理_

2.若源程序是用高级语言编写的,__ __是机器语言程序或汇编程序,则其翻译程序称为 __ __ 。

_目标程序 _编译程序

3.编译方式与解释方式的根本区别在于__ __。 是否生成目标代码_

4.对编译程序而言,输入数据是__ __, 输出结果是__ ___。 _源程序 目标程序

1

5.产生式是用于定义__ __的一种书写规则。 _语法成分

6.语法分析最常用的两类方法是___ __和__ __分析法。 自上而下 _自下而上 四、简答题(20分)

1. 什么是句子? 什么是语言 ?

答:(1)设G是一个给定的文法,S是文法的开始符号,如果S x(其中x∈VT*),则称x是文法的一个句子。 (2)设G[S]是给定文法,则由文法G所定义的语言L(G)可描述为: L(G)={x│S x,x∈VT*} 。 一、是非题(请在括号内,正确的划√,错误的划×)(每个2分,共20分) ×1.对于数据空间的存贮分配,FORTRAN采用动态贮存分配策略。()

×2.甲机上的某编译程序在乙机上能直接使用的必要条件是甲机和乙机的操作系统功能完全相同。() √3.递归下降分析法是自顶向上分析方法。() ×4.产生式是用于定义词法成分 的一种书写规则。 () √5.LR 法是自顶向下语法分析方法。 ()

√6.在 SLR ( 1 )分析法的名称中,S的含义是简单的。() ×7.综合属性是用于 “ 自上而下 ” 传递信息。()

×8.符号表中的信息栏中登记了每个名字的 属性和特征等有关信息 ,如类型、种属、所占单元大小、地址等等。 ()

×9.程序语言的语言处理程序是一种应用软件。 () ×10.解释程序适用于 COBOL 和 FORTRAN 语言。 () 三、填空题(每空1分,共10分)

1.一个句型中的最左简单短语称为该句型的___句柄__。

2

2.对于文法的每个产生式都配备了一组属性的计算规则,称为 __语义规则___ 。

3.一个典型的编译程序中,不仅包括__词法分析___、__语法分析___、__中间代码生成___、代码优化、目标代码生成等五个部分,还应包括表格处理和出错处理。

4. 从功能上说,程序语言的语句大体可分为__执行性___语句和__说明性___语句两大类。 5. 扫描器的任务是从__源程序___中识别出一个个___单词符号__。 6. 产生式是用于定义__语法范畴___的一种书写规则。

一、是非题(请在括号内,正确的划√,错误的划×)(每个2分,共20分) ×1.编译程序是对高级语言程序的解释执行。()

×2.一个有限状态自动机中,有且仅有一个唯一的终态。() √ 3.一个算符优先文法可能不存在算符优先函数与之对应。 () ×4.语法分析时必须先消除文法中的左递归 。 ()

√5.LR分析法在自左至右扫描输入串时就能发现错误,但不能准确地指出出错地点。 () √6.逆波兰表示法表示表达式时无须使用括号。 () ×7.静态数组的存储空间可以在编译时确定。 ()

×8.进行代码优化时应着重考虑循环的代码优化,这对提高目标代码的效率将起更大作用。× 9.两个正规集相等的必要条件是他们对应的正规式等价。 () ×10.一个语义子程序描述了一个文法所对应的翻译工作。 ()

三、填空题(每空1分,共10分)

1.计算机执行用高级语言编写的程序主要有两种途径:___ _和__ ___。 解释_编译

3

() 2.扫描器是__ ___,它接受输入的__ ___,对源程序进行___ __并识别出一个个单词符号,其输出结果是单词符号,供语法分析器使用。 词法分析器 源程序 词法分析

3.自上而下分析法采用___ _、归约、错误处理、___ __等四种操作。 移进_接受

4.一个LR分析器包括两部分:一个总控程序和___ __。 一张分析表

5.后缀式abc-/所代表的表达式是____。 _a/(b-c)

6.局部优化是在___范围内进行的一种优化。 _基本块_

一、是非题(请在括号内,正确的划√,错误的划×)(每个2分,共20分) 1.设r和s分别是正规式,则有L(r|s)=L(r)L(s)。(×)

2.确定的自动机以及不确定的自动机都能正确地识别正规集。(√) 3.词法分析作为单独的一遍来处理较好。 (× ) 4.构造LR分析器的任务就是产生LR分析表。 (√) 5.规范归约和规范推导是互逆的两个过程。 (× )

6.同心集的合并有可能产生新的“移进”/“归约”冲突。 (× ) 7.LR分析技术无法适用二义文法。 (× )

8.树形表示和四元式不便于优化,而三元式和间接三元式则便于优化。 (×)

4

9.程序中的表达式语句在语义翻译时不需要回填技术。 (√) 10.对中间代码的优化依赖于具体的计算机。 (× ) 三、填空题(每空1分,共10分)

1.词法分析基于__正则___文法进行,即识别的单词是该类文法的句子。

2.语法分析基于__上下文无关___文法进行,即识别的是该类文法的句子。语法分析的有效工具是__语法树___。

3.分析句型时,应用算符优先分析技术时,每步被直接归约的是__最左素短语___,而应用LR分析技术时,每步被直接归约的是___句柄__。

4.语义分析阶段所生成的与源程序等价的中间表示形式可以有__逆波兰___、___四无式表示__与___三元式表示__等。

一、是非题(请在括号内,正确的划√,错误的划×)(每个2分,共20分)

1.一个 LL(l)文法一定是无二义的。 (× ) 7.LR 法是自顶向下语法分析方法。 (× ) 2.正规文法产生的语言都可以用上下文无关文法来描述。 (× )

3.一张转换图只包含有限个状态,其中有一个被认为是初态,最多只有一个终态。 (√) 4.目标代码生成时,应考虑如何充分利用计算机的寄存器的问题。 (× ) 5.逆波兰法表示的表达式亦称前缀式 。 (√ )

6.如果一个文法存在某个句子对应两棵不同的语法树,则称这个文法是二义的。 (√ ) 8.数组元素的地址计算与数组的存储方式有关。(× ) 9.算符优先关系表不一定存在对应的优先函数。 (×)

10.对于数据空间的存贮分配, FORTRAN 采用动态贮存分配策略。 (×) 三、填空题(每空1分,共10分)

5

本文来源:https://www.bwwdw.com/article/1ipd.html

Top