编译原理第1阶段练习题

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

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

一、选择与填充(30)

1. 文法G[A]:A→ε A→aB B→Ab B→a是( )

A. 0型文法

B. 1型文法

C. 2型文法

D. 3型文法

2. 微小语言Micro的单词有下面的几种:标识符、_____________、实常数、保留字、___________、换行符。

3.编译程序的功能可以分解为词法分析、语法分析、___________________、中间代码生成、中间代码优化、目标代码生成。

4. 词法分析器的输入是( )。

A. 单词符号串

B. 源程序

C. 语法单位

D. 目标程序

5. 一个上下文无关文法 G 包括四个组成部分,它们是:一组非终结符号,一组终结符号,一个开始符号,以及一组( )。

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

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

A.无穷多个 B.有穷多个 C.可枚举的 D.个数是常量

二、给出与正规式R=1(0|1)*101等价的NFA。(14)

三、写出下面程序经词法分析后的TOKEN表示。(16)

begin var X:real;

var J:integer;

read(J);

J:=J+(J*20);

X:=J-1;

Write(2*J+X)

End

四、已知文法 G[E] 为:(20)

E→T|E+T|E-T T→F|T*F|T/F F→(E)|i

①该文法的开始符号(识别符号)是什么?

②请给出该文法的终结符号集合 Vt 和非终结符号集合 Vn 。

③找出句型 T+T*F+i 的所有短语、简单短语和句柄。

五、已知文法G(S) S→a| (T) T→T,S|S

写出句子((a,a),a)的规范归约过程及每一步的归约规则和句柄。(20)

附:参考答案:

一、选择与填充(30)

1. 文法G[A]:A→ε A→aB B→Ab B→a是( D )

A. 0型文法

B. 1型文法

C. 2型文法

D. 3型文法

2. 微小语言Micro的单词有下面的几种:标识符、___整常数____、实常数、保留字、__符号词__、换行符。

3.编译程序的功能可以分解为词法分析、语法分析、______语义分析_____、中间代码生成、中间代码优化、目标代码生成。

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

A. 单词符号串

B. 源程序

C. 语法单位

D. 目标程序

5. 一个上下文无关文法 G 包括四个组成部分,它们是:一组非终结符号,一组终结符号,一个开始符号,以及一组( D )。

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

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

A.无穷多个 B.有穷多个 C.可枚举的 D.个数是常量

二、给出与正规式R=1(0|1)*101等价的NFA。(14)

三、写出下面程序经词法分析后的TOKEN表示。(16)

begin var X:real;

var J:integer;

read(J);

J:=J+(J*20);

X:=J-1;

Write(2*J+X)

End

解:

$begin $var ($id,X) $colon $real $semi $line

$var ($id,J) $colon $integer $semi $line $read $LParen ($id,J) $RParen $semi $line ($id,J) $assign ($id,J) $plus $Lparen ($id,J) $mult ($intC,20) $RParen $semi $line ($id,X) $assign ($id,J) $subs ($intC,1) $semi $line $write $LParen ($intC,2) $mult ($id,J) $plus ($id,X) $RParen $semi $End

四、已知文法 G[E] 为:(20)

E→T|E+T|E-T T→F|T*F|T/F F→(E)|i

①该文法的开始符号(识别符号)是什么?

②请给出该文法的终结符号集合 Vt 和非终结符号集合 Vn 。

③找出句型 T+T*F+i 的所有短语、简单短语和句柄。

解:①该文法的开始符号(识别符号)是E。

②该文法的终结符号集合Vt={+、-、*、/、(、)、i}。非终结符号集合Vn={E、T、F}。

③句型T+T*F+I的短语为i、T*F、第一个T、T+T*F+i;

简单短语为i、T*F、第一个T;

句柄为第一个T。

五、已知文法G(S) S→a| (T) T→T,S|S

写出句子((a,a),a)的规范归约过程及每一步的归约规则和句柄。(20)解:句型归约规则句柄

((a,a),a) S→a a

((S,a),a) T→S S

((T,a),a) S→a a

((T,S),a) T→T,S T,S

((S),a) T→S S

((T),a) S→(T) (T)

(S,a) T→S S

(T,a) S→a a

(T,S) T→T,S T,S

(T) S→(T) (T)

S

相关文档
最新文档