编译原理阶段测试题

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

第一阶段测试卷

考试科目:《编译原理》第1章至第4章(总分100分)时间:90分钟

学习中心(教学点)批次:层次:

专业:学号:身份证号:

姓名:得分:

一、选择与填充(30)

1. 一个正则语言只能对应( )?

A. 一个正则文法

B. 一个最小有限状态自动机

C. 一个自然语言

D. 一个上下文有关文法

2. 对于编译程序而言,输入数据是源程序,输出数据是___________________。

3. 给出在字母表{0,1}上的“所有以00结尾的符号串的集合”的语言的正则表达式:_____________________。

4. 一个句型中最左的()称为该句型的句柄。

A. 简单短语

B. 短语

C. 非终结符号

D. 终结符号

5. Micro语言只有三种语句:()、输入语句和输出语句。

A. GOTO语句

B.赋值语句

C. 条件语句

D.循环语句

6. 描述高级语言语法的常用方法有________________和BNF范式。

二、给出与正规式R=(ab)*(a|b*)ab等价的NFA。(16)

三、简述 DFA 与 NFA 有何区别。(14)

四、判断下列文法是否具有二义性:G[P]: P→PaP|PbP|cP|Pe|f(18)

五、对于下面的文法G[Z],构造句子(i*i+i)*i的最左和最右推导及相应的语法树。(22)

(1) Z::=E (2) E::=T+E (3) E::=T (4) T::=F*T

(5) T::=F (6) F::=(E) (7) F::=i

附:参考答案:

一、选择与填充(30)

1.一个正则语言只能对应( B )?

A. 一个正则文法

B. 一个最小有限状态自动机

C. 一个自然语言

D. 一个上下文有关文法

2.对于编译程序而言,输入数据是源程序,输出数据是____目标程序_________。

3. 给出在字母表{0,1}上的“所有以00结尾的符号串的集合”的语言的正则表达式:________(0|1)*00__________。

4. 一个句型中最左的( A )称为该句型的句柄。

A. 简单短语

B. 短语

C. 非终结符号

D. 终结符号

5. Micro语言只有三种语句:( B )、输入语句和输出语句。

A.GOTO语句

B.赋值语句

C.条件语句

D.循环语句

6. 描述高级语言语法的常用方法有___语法图_____和BNF范式。

二、给出与正规式R=(ab)*(a|b*)ab等价的NFA。(16)

三、简述 DFA 与 NFA 有何区别。(14)

解:DFA与NFA的区别主要有两点:

1是NFA可以若干个开始状态,而DFA仅只一个开始状态。

2是DFA的映象M是从K×∑到K,而NFA的映象M是从K×∑到K的子集,即映象M将产生一个状态集合(可能为空集),而不是单个状态。

四、判断下列文法是否具有二义性:G[P]: P→PaP|PbP|cP|Pe|f(18)

解:

因为文法存在句型fbfbf,此句型有两棵不同的语法树,所以文法具有二义性。

五、对于下面的文法G[Z],构造句子(i*i+i)*i的最左和最右推导及相应的语法树。(22)

(1) Z::=E (2) E::=T+E (3) E::=T (4) T::=F*T

(5) T::=F (6) F::=(E) (7) F::=i

解:最左:Z=>E=>T=>F*T=>(E)*T=>(T+E)*T=>(F*T+E)*T=>(i*T+E)*T=>(i*F+E)*T=>(i*i+E)*T =>(i*i+T)*T=>(i*i+F)*T=>(i*i+i)*T=>(i*i+i)*F=>(i*i+i)*i

最右:Z=>E=>T=>F*T=>F*F=>F*i=>(E)*i=>(T+E)*i=>(T+T)*i=>(T+F)*i=>(T*i)*i=>(F*T+i)*i =>(F*F+i)*i=>(F*i+i)*i=>(i*i+i)*i

第二阶段测试卷

考试科目:《编译原理》第4章至第7章(总分100分)时间:90分钟

学习中心(教学点)批次:层次:

专业:学号:身份证号:

姓名:得分:

一、选择与填充(30)

1.有限状态自动机能识别( )。

A. 上下文无关文法

B. 上下文有关文法

C. 正则文法

D. 短语文法

2.在语法分析处理中, FIRST集合、 FOLLOW集合、 SELECT集合都是( )。

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

3.在自底向上的语法分析方法中,分析的关键是( )。

A. 寻找句柄

B. 寻找句型

C. 消除递归

D. 消除公共前缀4.______________________是这样一种动作文法,即动作符只出现于产生式的末尾。

5.文法要满足两个条件:_____________________和_________________________才可以使用自顶向下的语法分析方法。

6. 文法G[E]: E→E+T|T, T→T*P|P, P→(E)|I, 则句型P+T+i的短语有()。

A. i, P+T

B. P, P+T, i, P+T+i

C. P+T+i

D. P, P+T, i

二、若有文法G[S]为:S->Ac|aB A->df B->be,请写出语言L(G[S])的全部元素。(12)

三、文法G[S]为:(18)

S→V

V→T | ViT

T→F| T+F

F→)V* |(

试给出句型ViFi( 的短语,简单(直接)短语,句柄。

四、写出表达式(a+b*c)/(a+b)-d的逆波兰表示和三元式序列。(15)

五、下面的文法是不是LL(1)文法?若是,请构造相应的LL(1)分析表。(25)

S → aD D → STe | εT → bH | H H → d | ε

相关文档
最新文档