编译原理试题B及答案

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

编译原理试题B

一、单项选择题(每题1分,共20分)

1、对编译系统有关概念描述正确的是( B)

A.目标程序只能是机器语言 B. 编译程序处理的对象是源语言

C.解释程序属于编译程序 D. 词法分析无法自动进行

2. 设有表达式a*b-c,将其中a*b识别为表达式的编译阶段是什么

(B)

A.词法分析 B. 语法分析

C.语义分析 D. 代码生成

3. 下面不能用于对文法进行描述的是(A )

A.源语言 B. EBNF C.BNF D. 语法图

4. 设有文法G[S]: S→0S|1A|0,A→1|1S|0B,B→1A|0B,下列符号串中是该文法的句子的是

()?A.1010001001101 B.0101001110010010

C.1101010011110111 D.1010011101101010

(可画出DFA验证)

5. 文法G[S]:

S→aA|bC|a

A→aS|bB

B→aC|bA|b

C→aB|bS ,则不是L(G)句子的是( B )

A.a100b50ab100 B. a1000b500aba

C.a500b60aab2a D. a100b40ab10aa

(画出DFA)

6. 哪个不是DFA的构成成分(B)

A.有穷字母表 B. 初始状态集合

C.终止状态集合 D. 有限状态集合

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

A.单词符号串 B.源程序 C.语法单位 D.目标程序

8.在词法分析阶段不能识别的是(C )

A.标识符 B. 运算符 C.四元式 D. 常数

9.设有一段C语言程序

while(i&&++j)

{

c=2.19;

j+=k;

i++;

} ,经过词法分析后可以识别的单词个数是(B )

A.19 B.20 C.21 D.23

10.自上而下语法分析的主要动作是( B )

A.移进 B. 推导 C.规约 D. 匹配

11.下面不属于LL(1)分析器的自称部分是( D )

A.LL(1)总控程序 B. LL(1)分析表

C.分析栈 D.源程序串

12.设有文法G[S]为

S→AB|bC, A→ε|b,B→ε|aD,C→AD|b,D→aS|c

则FOLLOW(A)为(A )

A.{a,c,#} B.{c,#} C.{a,#} D.{#}

13.设有文法G[S]:

S→Ap|Bq,A→a|cA,B→b|dB ,则FIRST(Ap)为( C )A.{p,q} B. {b,d} C.{a,c} D. 其他

14.自下而上语法分析的主要分析动作是(D )

A.推导 B. 规约 C.匹配 D. 移进-规约

15.算法优先分析中,可规约串是( C )

A.句柄 B.活前缀 C.最左素短语 D.素短语

16. 设有文法G={{S},{a},{S→SaS|ε},S},该文法是( B )

A.LL(1)文法 B.二义性文法

C.SLR(1)文法 D.算法优先文法

17、中间代码生成时所以据的是(C )

A.语法规则 B.词法规则 C.语义规则D.等价变换规则

18、给定文法G: E→E+T|T,T→T*F|F,F→i|(E)

则L(G)中的一个句子i+i+(i*i)*i的逆波兰表示为( C )

A.iii*i++ B.ii+iii**+ C.ii+ii*i*+ D.其他

19.在编译程序中与生成中间代码的目的无关的是 (B )

A .便于目标代码优化

B .便于存储空间的组织

C .便于目标代码的移植

D .便于编译程序的移植

20.中间代码是介于源语言程序和什么之间的一种代码 ( D )

A .源代码 B. 机器语言 C. 汇编语言 D. 目标代码

二.简答(每题3分,共12分)

1. 什么是解释程序?

解释程序也是一种翻译程序,它将源程序作为输入并执行之,即边解释边执行。

2. 词法分析器的主要任务是什么?

词法分析器的主要任务是逐步扫描和分解构成源程序的字符串,识别出一个一个的单词符号。

3. 文法有哪几部分组成?

文法是一个四元组,由非终结符号集合、终结符号集合、非空有穷的文法规则集合、文法的开始符号(识别符号)组成。

4. 语法分析的基本任务是什么?

在词法分析的基础上,根据语言的语法规则把单词符号串分解成各类语法单元。

三、解答题(本大题共6小题,每小题4分,共24分)

1.写正则式:所有表示偶数的串。

(0|1|…|9)*(0|2|4|6|8)

2.构造有限自动机M ,使得:L(M)={a n b n c n |n ≥1}。

应是L(M)={a n b m c k |n,m,k ≥1}

3.给定文法G[S]:S→aAcB|BdS,B→aScA|cAB|b,A→BaB|aBc|a,试检验aacb 是不是其句子。

SÞaAcBÞaacBÞaacb ,所以aacb是句子

4.文法G[S]=({A,B,C},{a,b,c},A,P),其中P有以下产生式组成:

A→abc,A→aBbc,Bb→bB,Bc→Cbcc,bC→Cb,aC→aaB,aC→aa,问此文法表示的语言是什么?

L(G)={a n b n c n|n>=1}

5.把下列表达式变换成后缀表达式:(x:=x+3)*4

同试卷A

6.把下列表达式变换成后缀表达式:(not A and B) or (C or not D)

同试卷A

四、求解题(本大题共5小题,每小题6,共30分)

得分

1.设文法G[E]: E→E+T|E-T|T,T→T*F|T/F|F,F→F↑P|P,P→(E)|i,求T*(T-i)+P的短语、直接短语、素短语和句柄。

同试卷A

相关文档
最新文档