编译原理.docx

上传人:b****2 文档编号:2533091 上传时间:2023-05-03 格式:DOCX 页数:23 大小:28.93KB
下载 相关 举报
编译原理.docx_第1页
第1页 / 共23页
编译原理.docx_第2页
第2页 / 共23页
编译原理.docx_第3页
第3页 / 共23页
编译原理.docx_第4页
第4页 / 共23页
编译原理.docx_第5页
第5页 / 共23页
编译原理.docx_第6页
第6页 / 共23页
编译原理.docx_第7页
第7页 / 共23页
编译原理.docx_第8页
第8页 / 共23页
编译原理.docx_第9页
第9页 / 共23页
编译原理.docx_第10页
第10页 / 共23页
编译原理.docx_第11页
第11页 / 共23页
编译原理.docx_第12页
第12页 / 共23页
编译原理.docx_第13页
第13页 / 共23页
编译原理.docx_第14页
第14页 / 共23页
编译原理.docx_第15页
第15页 / 共23页
编译原理.docx_第16页
第16页 / 共23页
编译原理.docx_第17页
第17页 / 共23页
编译原理.docx_第18页
第18页 / 共23页
编译原理.docx_第19页
第19页 / 共23页
编译原理.docx_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

编译原理.docx

《编译原理.docx》由会员分享,可在线阅读,更多相关《编译原理.docx(23页珍藏版)》请在冰点文库上搜索。

编译原理.docx

编译原理

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

1.对于数据空间的存贮分配,FORTRAN采用动态贮存分配策略。

(×)

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

(×)

3.递归下降分析法是自顶向上分析方法。

(√)

4.产生式是用于定义词法成分的一种书写规则。

(×)

5.LR法是自顶向下语法分析方法。

(√)

6.在SLR

(1)分析法的名称中,S的含义是简单的。

(√)

7.综合属性是用于“自上而下”传递信息。

(×)

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

(×)

9.程序语言的语言处理程序是一种应用软件。

(×)

10.解释程序适用于COBOL和FORTRAN语言。

(×)

二、选择题(请在前括号内选择最确切的一项作为答案划一个勾,多划按错论)(每个4分,共40分)

1.文法G产生的_____的全体是该文法描述的语言。

 A.()句型  B.()终结符集  C.()非终结符集  D.()句子

2.若文法G定义的语言是无限集,则文法必然是_____。

 A.()递归的  B.()前后文无关的 

C.()二义性的  D.()无二义性的

3.四种形式语言文法中,1型文法又称为_____文法。

 A.()短语结构文法B.()前后文无关文法  

 C.()前后文有关文法D.()正规文法

4.一个文法所描述的语言是_____。

 A.()唯一的      B.()不唯一的 

C.()可能唯一,好可能不唯一  D.()都不对

5._____和代码优化部分不是每个编译程序都必需的。

 A.()语法分析   B.()中间代码生成

C.()词法分析 D.()目标代码生成

6._____是两类程序语言处理程序。

 A.()高级语言程序和低级语言程序  B.()解释程序和编译程序

 C.()编译程序和操作系统  D.()系统程序和应用程序

7.数组的内情向量中肯定不含有数组的_____的信息。

 A.()维数    B.()类型 C.()维上下界D.()各维的界差

8.一个上下文无关文法G包括四个组成部分,它们是:

一组非终结符号,一组终结符号,一个开始符号,以及一组_____。

 A.()句子   B.()句型

 C.()单词   D.()产生式

9.文法分为四种类型,即0型、1型、2型、3型。

其中2型文法是_____。

 A.()短语文法   B.()正则文法

 C.()上下文有关文法   D.()上下文无关文法

10.文法G所描述的语言是_____的集合。

 A.()文法G的字母表V中所有符号组成的符号串

 B.()文法G的字母表V的闭包V*中的所有符号串

 C.()由文法的开始符号推出的所有终极符串

 D.()由文法的开始符号推出的所有符号串

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

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

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

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

4.从功能上说,程序语言的语句大体可分为__执行性___语句和__说明性___语句两大类。

5.扫描器的任务是从__源程序___中识别出一个个___单词符号__。

6.产生式是用于定义__语法范畴___的一种书写规则。

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

1.“用高级语言书写的源程序都必须通过编译,产生目标代码后才能投入运行”这种说法。

(×)

2.若一个句型中出现了某产生式的右部,则此右部一定是该句型的句柄。

(×)

3.一个句型的句柄一定是文法某产生式的右部。

(√)

4.在程序中标识符的出现仅为使用性的。

(×)

5.仅考虑一个基本块,不能确定一个赋值是否真是无用的。

(√)

6.削减运算强度破坏了临时变量在一基本块内仅被定义一次的特性。

(√)

7.在中间代码优化中循环上的优化主要有不变表达式外提和削减运算强度。

(×)

8.算符优先关系表不一定存在对应的优先函数。

(×)

9.数组元素的地址计算与数组的存储方式有关。

(×)

10.编译程序与具体的机器有关,与具体的语言无关。

(×)

二、选择题(请在前括号内选择最确切的一项作为答案划一个勾,多划按错论)(每个4分,共40分)

1.通常一个编译程序中,不仅包含词法分析,语法分析,中间代码生成,代码优化,目标代码生成等五个部分,还应包括_____。

 A.()模拟执行器B.()解释器

C.()表格处理和出错处理D.()符号执行器

2.文法G[N]=({b},{N,B},N,{N→b│bB,B→bN}),该文法所描述的语言是

 A.()L(G[N])={bi│i≥0}  B.()L(G[N])={b2i│i≥0}

 C.()L(G[N])={b2i+1│i≥0}     D.()L(G[N])={b2i+1│i≥1}

3.一个句型中的最左_____称为该句型的句柄。

 A.()短语B.()简单短语 C.()素短语D.()终结符号

4.设G是一个给定的文法,S是文法的开始符号,如果S->x(其中x∈V*),则称x是文法G的一个_____。

 A.()候选式 B.()句型C.()单词D.()产生式

5.文法G[E]:

E→T∣E+T

T→F∣T﹡F

F→a∣(E)

该文法句型E+F﹡(E+T)的简单短语是下列符号串中的_____。

①(E+T)②E+T③F④F﹡(E+T)

 A.()①和③   B.()②和③   C.()③和④     D.()③

6.若一个文法是递归的,则它所产生的语言的句子_____。

 A.()是无穷多个   B.()是有穷多个  

C.()是可枚举的 D.()个数是常量

7.词法分析器用于识别_____。

 A.()句子 B.()句型C.()单词D.()产生式

8.在语法分析处理中,FIRST集合、FOLLOW集合、SELECT集合均是_____。

 A.()非终极符集B.()终极符集C.()字母表D.()状态集

9.在自底向上的语法分析方法中,分析的关键是_____。

 A.()寻找句柄B.()寻找句型C.()消除递归D.()选择候选式

10.在LR分析法中,分析栈中存放的状态是识别规范句型_____的DFA状态。

 A.()句柄B.()前缀C.()活前缀D.()LR(0)项目

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

1.设G是一个给定的文法,S是文法的开始符号,如果S->x(其中x∈VT*),则称x是文法的一个__句子___。

2.递归下降法不允许任一非终极符是直接__左___递归的。

3.自顶向下的语法分析方法的基本思想是:

从文法的__开始符号____开始,根据给定的输入串并按照文法的产生式一步一步的向下进行__直接推导____,试图推导出文法的__句子____,使之与给定的输入串___匹配___。

4.自底向上的语法分析方法的基本思想是:

从输入串入手,利用文法的产生式一步一步地向上进行___直接归约__,力求归约到文法的__开始符号___。

5.常用的参数传递方式有___传地址__,传值和传名。

6.在使用高级语言编程时,首先可通过编译程序发现源程序的全部__语法___错误和语义部分错误。

一、是非题(请在括号内,正确的划√,错误的划×)(每个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.简单优先文法允许任意两个产生式具有相同右部。

(×)

二、选择题(请在前括号内选择最确切的一项作为答案划一个勾,多划按错论)(每个4分,共40分)

1.一个编译程序中,不仅包含词法分析,_____,中间代码生成,代码优化,目标代码生成等五个部分。

 A.()语法分析  B.()文法分析  C.()语言分析 D.()解释分析

2.词法分析器用于识别_____。

 A.()字符串  B.()语句

 C.()单词     D.()标识符

3.语法分析器则可以发现源程序中的_____。

 A.()语义错误 B.()语法和语义错误

 C.()错误并校正D.()语法错误

4.下面关于解释程序的描述正确的是_____。

 

(1)解释程序的特点是处理程序时不产生目标代码

 

(2)解释程序适用于COBOL和FORTRAN语言

 (3)解释程序是为打开编译程序技术的僵局而开发的

 A.()

(1)

(2)  B.()

(1)  C.()

(1)

(2)(3)  D.()

(2)(3)

5.解释程序处理语言时,大多数采用的是_____方法。

 A.()源程序命令被逐个直接解释执行   

B.()先将源程序转化为中间代码,再解释执行

 C.()先将源程序解释转化为目标程序,再执行   

D.()以上方法都可以

6.编译过程中,语法分析器的任务就是_____。

 

(1)分析单词是怎样构成的

(2)分析单词串是如何构成语句和说明的

 (3)分析语句和说明是如何构成程序的(4)分析程序的结构

 A.()

(2)(3)         B.()

(2)(3)(4)

 C.()

(1)

(2)(3)       D.()

(1)

(2)(3)(4)

7.编译程序是一种_____。

 A.()汇编程序    B.()翻译程序

 C.()解释程序D.()目标程序

8.文法G所描述的语言是_____的集合。

 A.()文法G的字母表V中所有符号组成的符号串

 B.()文法G的字母表V的闭包V*中的所有符号串

 C.()由文法的开始符号推出的所有终极符串

 D.()由文法的开始符号推出的所有符号串

9.文法分为四种类型,即0型、1型、2型、3型。

其中3型文法是_____。

 A.()短语文法   B.()正则文法

 C.()上下文有关文法  D.()上下文无关文法

10.一个上下文无关文法G包括四个组成部分,它们是:

一组非终结符号,一组终结符号,一个开始符号,以及一组_____。

 A.()句子   B.()句型

 C.()单词   D.()产生式

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

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

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

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

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

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

6.语法分析最常用的两类方法是___自上而下__和___自下而上__分析法。

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

1.编译程序是对高级语言程序的解释执行。

(×)

2.一个有限状态自动机中,有且仅有一个唯一的终态。

(×)

3.一个算符优先文法可能不存在算符优先函数与之对应。

(√)

4.语法分析时必须先消除文法中的左递归。

(×)

5.LR分析法在自左至右扫描输入串时就能发现错误,但不能准确地指出出错地点。

(√)

6.逆波兰表示法表示表达式时无须使用括号。

(√)

7.静态数组的存储空间可以在编译时确定。

(×)

8.进行代码优化时应着重考虑循环的代码优化,这对提高目标代码的效率将起更大作用。

(×)

9.两个正规集相等的必要条件是他们对应的正规式等价。

(×)

10.一个语义子程序描述了一个文法所对应的翻译工作。

(×)

二、选择题(请在前括号内选择最确切的一项作为答案划一个勾,多划按错论)(每个4分,共40分)

1.词法分析器的输出结果是_____。

 A.()单词的种别编码      B.()单词在符号表中的位置

 C.()单词的种别编码和自身值  D.()单词自身值

2.正规式M1和M2等价是指_____。

 A.()M1和M2的状态数相等  B.()M1和M2的有向边条数相等

 C.()M1和M2所识别的语言集相等  D.()M1和M2状态数和有向边条数相等

3.文法G:

S→xSx|y所识别的语言是_____。

 A.()xyx B.()(xyx)*C.()xnyxn(n≥0)D.()x*yx*

4.如果文法G是无二义的,则它的任何句子α_____。

 A.()最左推导和最右推导对应的语法树必定相同  

 B.()最左推导和最右推导对应的语法树可能不同  

 C.()最左推导和最右推导必定相同  

 D.()可能存在两个不同的最左推导,但它们对应的语法树相同

5.构造编译程序应掌握______。

 A.()源程序   B.()目标语言

C.()编译方法D.()以上三项都是

6.四元式之间的联系是通过_____实现的。

 A.()指示器  B.()临时变量

 C.()符号表D.()程序变量

7.表达式(┐A∨B)∧(C∨D)的逆波兰表示为_____。

 A.()┐AB∨∧CD∨    B.()A┐B∨CD∨∧

C.()AB∨┐CD∨∧D.()A┐B∨∧CD∨

8.优化可生成_____的目标代码。

 A.()运行时间较短   B.()占用存储空间较小

 C.()运行时间短但占用内存空间大   D.()运行时间短且占用存储空间小

9.下列______优化方法不是针对循环优化进行的。

 A.()强度削弱   B.()删除归纳变量

 C.()删除多余运算  D.()代码外提

10.编译程序使用_____区别标识符的作用域。

 A.()说明标识符的过程或函数名

 B.()说明标识符的过程或函数的静态层次

 C.()说明标识符的过程或函数的动态层次

 D.()标识符的行号

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

1.计算机执行用高级语言编写的程序主要有两种途径:

___解释__和__编译___。

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

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

4.一个LR分析器包括两部分:

一个总控程序和___一张分析表__。

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

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

一、单项选择题

1.将编译程序分成若干个“遍”是为了(B)

A.提高程序的执行效率

B.使程序的结构更加清晰

C.利用有限的机器内存并提高机器的执行效率

D.利用有限的机器内存但降低了机器的执行效率

2.不可能是目标代码的是(D)

A.汇编指令代码B.可重定位指令代码

C.绝对指令代码D.中间代码

3.词法分析器的输入是(B)

A.单词符号串B.源程序

C.语法单位D.目标程序

4.中间代码生成时所遵循的是(C)

A.语法规则B.词法规则

C.语义规则D.等价变换规则

5.编译程序是对(D)

A.汇编程序的翻译B.高级语言程序的解释执行

C.机器语言的执行D.高级语言的翻译

6.词法分析应遵循(C)

A.语义规则B.语法规则

C.构词规则D.等价变换规则

7.词法分析器的输出结果是(C)

A.单词的种别编码B.单词在符号表中的位置

C.单词的种别编码和属性值D.单词属性值

8.正规式M1和M2等价是指(C)

A.M1和M2的状态数相等B.M1和M2的有向弧条数相等

C.M1和M2所识别的语言集相等D.M1和M2状态数和有向弧条数相等

9.词法分析器作为独立的阶段使整个编译程序结构更加简洁、明确,因此,(B)

A.词法分析器应作为独立的一遍

B.词法分析器作为子程序较好

C.词法分析器分解为多个过程,由语法分析器选择使用.

D.词法分析器并不作为一个独立的阶段

10.如果L(M1)=L(M2),则M1与M2(A)

A.等价B.都是二义的

C.都是无二义的D.它们的状态数相等

11.文法G:

S→xSx|y所识别的语言是(C)

A.xyxB.(xyx)*c.xnyxn(n≥0)d.x*yx*

12.文法G描述的语言L(G)是指(A)

A.B.

C.D.

13.有限状态自动机能识别(C)

A.上下文无关文法B.上下文有关文法

C.正规文法D.短语文法

14.如果文法G是无二义的,则它的任何句子(A)

A.最左推导和最右推导对应的语法树必定相同

B.最左推导和最右推导对应的语法树可能不同

C.最左推导和最右推导必定相同

D.可能存在两个不同的最左推导,但它们对应的语法树相同

15.由文法的开始符经0步或多步推导产生的文法符号序列是(C)

A.短语B.句柄C.句型D.句子

16.文法G:

E→E+T|T

T→T*P|P

P→(E)|i

则句型P+T+i的句柄为(B)

A.P+TB.PC.P+T+iD.i

17.文法G:

S→b|∧|(T)

T→T∨S|S

则FIRSTVT(T)=(C)

A.{b,∧,(}B.{b,∧,)}

C.{b,∧,(,∨}D.{b,∧,),∨}

18.产生正规语言的文法为(D)

A.0型B.1型C.2型D.3型

19.任何算符优先文法(D)优先函数。

A.有一个B.没有C.有若干个D.可能有若干个

20.采用自上而下分析,必须(C)

A.消除左递归B.消除右递归

C.消除回溯D.提取公共左因子

21.在规范归约中,用(B)来刻画可归约串。

A.直接短语B.句柄C.最左素短语D.素短语

22.有文法G:

E→E*T|T

T→T+i|i

句子1+2*8+6按该文法G归约,其值为(B)

A.23B.42C.30D.17

23.如果文法是无二义的,那么规范归约是指(B)

A.最左推导的逆过程B.最右推导的逆过程

C.规范推导D.最左归约的逆过程

24.文法G:

S→S+T|T

T→T*P|P

P→(S)|i

句型P+T+i的短语有(B)

A.i,P+TB.P,P+T,i,P+T+iC.P+T+iD.P,P+T,i

25.四元式之间的联系是通过(B)实现的。

A.指示器B.临时变量C.符号表D.程序变量

26.后缀式ab+cd+/可用表达式(B)来表示。

A.a+b/c+dB.(a+b)/(c+d)C.a+b/(c+d)D.a+b+c/d

27.使用间接三元式表示法的主要目的(A)

A.便于优化处理B.便于表的修改

C.节省存储空间D.生成中间代码更容易

28.表达式(┐A∨B)∧(C∨D)的逆波兰表示为(B)

A.┐AB∨∧CD∨B.A┐B∨CD∨∧

C.AB∨┐CD∨∧D.A┐B∨∧CD∨

 

二、判断题

1.一个确定有限状态自动机中,有且仅有一个唯一的终态。

(╳)

2.设R和S分别是字母表∑上的正规式,则有L(R|S)=L(R)∪L(S)。

(√)

3.自动机M1和M2的状态数不同,则二者必不等价。

(╳)

4.确定有限自动机以及非确定有限自动机都能正确地识别正规集。

(√)

5.对任意一个右线性正规文法G,都存在一个NFAM,满足L(G)=L(M)。

(√)

6.对任意一个右线性正规文法G,都存在一个DFAM,满足L(G)=L(M)。

(√)

7.对任何正规式e,都存在一个NFAM,满足L(M)=L(e)。

(√)

8.对任何正规式e,都存在一个DFAM,满足L(M)=L(e)。

(√)

9.从一个句型到另一个句型的推导过程是唯一的。

(╳)

10.词法分析作为单独的一遍来处理较好。

(╳)

11.一张转换图只包含有限个状态,其中有一个被认为是初态,最多只有一个终态。

(╳)

12.二义文法不是上下文无关文法。

(╳)

13.自上而下分析法是一种“移进—归约”法。

(╳)

14.文法是描述语言的语法结构的形式规则。

(√)

15.产生式是定义语法范畴的一种书写规则。

(√)

16.要构造行之有效的自上而下的分析器,则必须消除左递归。

(╳)

17.如果文法G是无二义的,那么规范归约和规范推导是互逆的两个过程。

(√)

18.自下而上的分析法是一种“移进—归约”法。

(√)

19.如果文法G是二义的,那么规范归约和规范推导是互逆的两个过程。

(╳)

三、填空题

1.解释程序和编译程序的区别在于(是否生成目标代码)。

2.编译过程通常可分为5个阶段,分别是(词法分析)、(语法分析)、语义分析与中间代码产生、代码优化和目标代码生成。

3.编译程序

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

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2