(整理完)编译原理网上作业题参考答案20121101 联系客服

发布时间 : 星期六 文章(整理完)编译原理网上作业题参考答案20121101更新完毕开始阅读

图 语法树

(2)句子acabcbbdcc的最左推导如下: ST

aAcB

aAaBcB

acaBcB

acabcB

acabcbScA

acabcbBdcA

acabcbbdcA

acabcbbdcc

5.对于文法G[S]: S→(L)|aS|a

L→L, S|S

(1)画出句型(S,(a))的语法树。

(2)写出上述句型的所有短语、直接短语、句柄和素短语。(﹡﹡﹡) 解答:

(1)句型(S,(a))的语法树如下图所示。

图 句型(S,(a))的语法树

(2)由上图可知:

①短语:S、a、(a)、S,(a)、(S,(a)); ②直接短语:a、S; ③句柄:S;

④素短语:素短语可由图2-8-3中相邻终结符之间的优先关系求得,即;

因此素短语为a。

6. 考虑文法G[S],其产生式如下: S→(L)|a L→L,S|S

(a)试指出此文法的终结符号、非终结符号。 (b)给出句子(a,(a,a))的分析树。 (c)构造句子(a,(a,a))的一个最左推导。 (d)构造句子(a,(a,a))的一个最右推导。 (e)这个文法生成的语言是什么?(﹡﹡) 解答:(a) 终结符号为:{(,),a,,} 非终结符号为:{S,L} 开始符号为:S (b)分析树

,

(c) S (d) S

(L)

(L,S)

(S,S)

(a,S)

(a,(L)

(a,(L,S))

(a,(S,S)) (L,S)

(a,(a,S)) (L,(L))

(a,(a,a))

(L,(L,a))

(a,(a,a))

(L) (L,(L,S))

(L,(S,a))

...

(L,(a,a)) (S,(a,a))

(e) L(G[S]) = (α1,α2,,αn)或a

其中αi(1≤i≤n)是L(G[S])。即L(G[S])产生一个以a为原子的纯表,但不包括空表。 7.考虑文法G[T]: T→T*F|F F→F↑P|P P→(T)|i

证明T*P↑(T*F)是该文法的一个句型,并指出直接短语和句柄。(﹡﹡) 解答:

首先构造T*P↑(T*F)的语法树如下图所示。

图 句型T*P↑(T*F)的语法树

由上图可知,T*P↑(T*F)是文法G[T]的一个句型。 直接短语有两个,即P和T*F;句柄为P。

8.试描述下列文法产生的语言L(G[S])(﹡﹡)

S→10S0|aA A→bA|a

解答:L(G)={(10)iabna0i n≥0 i≥0}

9.已知语言L(G)={abnc |n≥1} 试对该语言构造相应文法。(﹡﹡) 解答:G[Z]: Z→aBC B→Bb|b

10.证明下列文法的二义性 (﹡﹡﹡) 1.G[Z] 2.G[S] Z→aZbZ|aZ|a S→AB A→bB|bC|ba B→Sb|ba|a C→Bb|b 解答:(1)

对于句子aaaba,画出二棵不同的语法树,因而是二义的。

(2)

G[S]