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

合集下载
  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

■ /K (E ) /1\

H + T

/|\ 1 下* F I

(3) (4 分)

短语: (T*F+i )

,T*F+i ,T*F ,i

直接短语:T*F , i 句柄:T*F

S a s

E

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

aaa 对应的两颗语法树为:

s a s

S a s S MS

S a S S a S

因此,文法是二义文法

a b

{F} ①{S}

{S} {S,A} ①

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

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

(21NFA5

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

(3)T ' ,ST ' | & (4 分)

b b

(5 分)

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

(1) S Sa | Ab |b

⑵A Sa

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

(26

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,#

的 集合如表:

试:(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

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

S

I B

I a I b I

11 S '

S.

1 2 I 2

S B.B --- B .aB -- B .b --

B

a I b

I I 3

B a.B —

B .aB -- B

.b --

3 4

I

5

B

a

I

b

I

|4 B

b.

I 5

S BB.

I 6 B aB.

(2) 写出每个产生式对应的语义动作。(7分)

答:(1)分段产生式(3分)及语义动作(7分)

(1) R

not E then { Backpatch

($2.FC , nxq );

$$.cha in = $2.Tc }

(2) S R S 1 { Backpatch

( $2.chain , nxq )}

一、填空题| (每题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分

S

/|\ (T )

/l\ I /l\ l (

/]\ T - S I I

s

a

(3) (4 分

短语:(a,(a,a) ) , a,(a,a) , (a,a) , a,a , a

相关文档
最新文档