编译原理文法和语言答案

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

练习1. 文法和语言

1. 文法: Z → U0 | V1 U → Z1 | 1 V → Z0 | 0

(1) 请写出全部由此文法描述的只含有四个符号的句子. (2) 该文法是 Chomsky 几型文法? Answer :

(1) 1010, 0110, 1001, 0101 (2) 3型文法

2. 给定前缀表示的表达式文法 G : (1) E → -EE (2) E → -E (3) E → a (4) E → b (5) E → c

试问 --a-bc 是否 L(G) 的句子?若是,请给出该句子所有可能的分析树;若不是,请说明理由.

Answer : --a-bc 是L(G)的句子。所有可能的分析树如下。 (1) (2) (3)

E -E E

-E c

-E b E -E

E -E -E E

E

--

E E

c

-E E

3. 考虑文法:

S → ( L ) | a L → L, S | S

写出句型 ( a , ( a , a ) ) 的最左推导和最右推导。 Answer :

(1) 最左推导:

S lm

=>(L)lm

=>(L,S)lm

=>(S,S)lm

=>(a,S)lm

=>(a,(L))lm

=>(a,(L,S))lm

=>(a,(S,S))lm

=>(a,(a,S))lm

=>(a,(a,a))

(2) 最右推导:

S rm

=>(L)rm

=>(L,S)rm

=>(L,(L))rm

=>(L,(L,S))rm

=>(L,(L,a))rm

=>(L,(S,a))rm

=>(L,(a,a))rm

=>(S,(a,a))rm

=>(a,(a,a))

4. 考虑文法:

S → aSbS | bSaS |ε

写出句型 abab 的两个最左推导。 Answer :

(1) S lm

=>aSbS lm

=> abSaSbS lm

=> abaSbS lm

=> ababS lm

=> abab

(2) S lm

=>aSbS lm

=> abS lm

=> abaSbS lm

=> ababS lm

=> abab

5. 文法 G : P → PaP | PbP | cP | Pe | f

证明文法 G 是二义文法. ** 通过证明句型 f b f b f 存在两棵分析树. Answer : 因为存在两个分析树,所以是二义文法。

两个分析树如下:(1) (2)

P P b

P P b

P f

f

f

P P b P P b

P f

f

f

6. 文法: S → ( L ) | a L → L , S | S

分析句型: ( L , a , S ), 求:短语、直接短语、句柄、素短语、最左素短语. Answer :

S (L )L ,S

L

,

S a

–句型:( L , a , S )

–短语:( L , a , S )、L , a , S 、

L , a 、a

–直接短语:a –句柄:a –素短语:a

–最左素短语:a

7. 文法:

S → a │^│( T ) T → T , S │S

分析句型: ( T , ( ^ , a ) ), 求:短语、直接短语、句柄、素短语、最左素短语. Answer :

S (T )T

,

S

(T )a

T ,S ^

S

–句型:( T , ( ^ , a ) )

–短语:( T , ( ^ , a ) )、^ , a T , ( ^ , a )、( ^ , a )、^、a –直接短语:^ 、a –句柄:^–素短语:^ 、a

–最左素短语:^

相关文档
最新文档