Anda di halaman 1dari 1

计算机科学系 2 0 11 春 季 学 期

《编译原理》第七次作业
任课教师:林瀚 布 置 时 间 : 2 0 11 .4 . 1 5 提 交 时 间 : 2 0 11 . 4 . 2 0

年级:08 班别:C 班 专业:计科 姓名: 胡宽敏 __ 学号: 08380118 _ 成绩: _____

注意:前两题只需画出相应的自动机,并指出冲突的状态即可,不需要构造完整的分析表.

1、 证明下列文法
S  Aa | bAc | dc | bda
A d
是 LALR(1)文法但不是 SLR(1)文法.

证明:
FIRST(S)={b,d} FOLLOW(S)={$}
FIRST(A)={b,d} FOLLOW(A)={a,c}

SLR(1)文法自动机:

2、 证明下列文法
S  Aa | bAc | Bc | bBa
A d
Bd
是 LR(1)文法但不是 LALR(1)文法.

3、 (附加题,选做)类似 LL(1)文法,我们很容易给出 LL(k)文法的定义 . 对于一个上下文无关文法 ,


如果递归下降分析器(recursive-descent parser)每次都可以通过向前看 k 个符号来确定选用哪一
个 产 生 式 而 不 需 要 回 溯 , 这 一 文 法 便 称 为 LL(k)文 法 . 试 构 造 一 个 无 二 义 文 法 , 使 得 对 任 意 的
k,这一文法都不是 LL(k)文法.

Anda mungkin juga menyukai