编译原理期末考试习题及答案

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

、填空题| (每题4分,共20分)

1. 乔母斯基定义的3型文法(线性文法)产生式形式A Ba|a,或A aB|a, A, B€ Vn, a,b €

Vt

2. 语法分析程序的输入是单词符号,其输出是语法单位。

3型为B .aB的LR(0)项目被称为移进项目,型为B a.B的LR (0) 项目被称为待约项目,

4. 在属性文法中文法符号的两种属性分别为继承属性和综合属性。

5、运行时存贮管理方案有静态存储分配、动态存储分配和堆式存储分配和方案。

二.已知文法G(S)

⑴ E T | E+T

⑵ T F | F*F

⑶ F (E) | i

(1) 写出句型(T*F+i)的最右推到并画出语法树。(4分)

(2) 写出上述句型的短语,直接短语和句柄。

(4分) 答:(1)最右推到(2分)

E ==> T ==>

F ==> (E) ==> (E+T) ==> (E+F) ==> (E+i) ==> (T+i) ==> (T*F+i) (2)语法树(2分)

E

/|\

7K

(3) (4分)

短语:(T*F+i ) ,T*F+i ,T*F,i

直接短语:T*F,i

句柄:T*F

三•证明文法G(S) : S SaS | £是二义的。答:句子aaa

对应的两颗语法树为:

因此,文法是二义文法

(6分)

E

a b

{F} ①{S}

{S} {S,A} ①

{S,A} {S,A} {S}

五•构造识别正规语言b*a(bb*a)*b* 最小的DFA(要求写出求解过程)(15分) 答:(1)对应的NFA(5分)

a b

{0} {1 , 3} {0}

{1,3} ①{2 , 3}

{2,3} {1,3} {2,3}

六.已知文法G(S):

(1)S A | a | (T)

⑵ T T,S | S

试:(1)消除文法的左递归;(4分)

(2)构造相应的first 和follow 集合。(6分)

答:(1)消除文法的左递归后文法 G' (S)为:

(1) S A | a | (T)

⑵ T ST' |S

(5 分)

四.给定正规文法G( S):

(1) S Sa | Ab |b

⑵A Sa

请构造与之等价的DFA ( 6分)

⑶ T ' ,ST ' | &

(4 分)

(2) (6分)

first

follow

S a A ( # ,)

T a A ( ) T' , £ )

七.已知文法 G (S ):

⑴ S SiA | A

⑵ A

A+B|B

(3) B A* | (

试构造非终止符的firstVT 和lastVT 集合。(10分) 答:(10分)

firstVT lastVT

S i , + , * ,

( i , + , * ,(

A + , * ,( + , * ,(

B * ,(

* ,(

八.已知文法 G (S ): (1) S B B

Follow

⑵B

a B S # ⑶B

b B a,b,# 的follow 集合如表:

试:(1)给出该文法的LR ( 0)项目集规范族划分;

2)填写相应的SLR ( 1)的分析表。(15分)

答:(1) LR (0)项目集规范族划分(8分)

(2) SLR (1)分析表(7分)

状态 Actio n

Goto

a b #

S B 0 S3

S4

1

2 1

Acc

2 S

3 S4

5 3 S3 S4

6

4 R3

R3

R3

5

R1

6

R2 R2

R2

11 S '

S.

I 2

B ,

I 3

S B.B --- I 5 b I 3

B a.B ---

B .aB -- B .aB -- B

.b --

B

.b --

丨4

B

b.

I 5

S BB.

I 6

B aB.

S

I B I a I b I

1 2

B

a I

b I

I 6 3

4

九.设某语言的not-then-else 语句的语法形式为:S not E then S 其语义解释为:

not E then { Backpatch ( $2.FC ,

nxq );

$$.cha in = $2.Tc }

{ Backpatch

( $2.chain ,

、填空题| (每题4分,共20分)

1. 乔母斯基定义的2型文法(上下文无关文法)产生式形式

A B ,A € Vn,

V+。

2. 词法分析程序的输入是 字符串,其输出是 单词符号o

3算符有限分析方法每次都是对 最左素短语 进行规约。型为B aB.的LR ( 0)项

目被称为规约 项目。 4、 写出 x:=b*(d-e )/(c-d )+e 的逆波兰式 xbde-*cd-/e+:= 。

5、 常用的两种动态存贮分配办法是 栈式存储分配和堆式存储— 分配。 二.已知文法 G(S):

(1) S A | a | (T)

⑵ T T,S | S

试:(1)写出句型(a,(a,a))的最左推到并画出语法树。(4分)

(2) 写出上述句子的短语,直接短语和句柄。 (4分)

答:(1)最左推到(2分)

S ==> (T) ==> (T,S) ==> (S,S) ==> (a,S) ==> (a,(T)) ==> (a,(T,S))==>

(a, (

S,S)) ==>

(a, (a,S))

==>

(a, (a,a))

(2) 语法树(2分

/l\

(I )

/l\ T , S I /l\

> (T )

nxq ) }

(2)写出每个产生式对应的语义动作。(7分) 答:(1)分段产生式(3分)及语义动作(7分)

(1) R

相关文档
最新文档