编译原理作业7答案

发布 2022-09-14 22:56:28 阅读 8397

软件学院 2012秋季学期。

编译原理》第七次作业参***。

一、 证明下列文法。

s aa | bac | dc | bdaa d是lalr(1)文法但不是slr(1)文法。

构造lr(1)自动机(没有需要合并的状态):

没有状态存在冲突,因而是lalr(1)文法。

构造lr(0)自动机:

在状态i6,由于’a’∈follow(a),因而对于slr(1)分析而言,存在移进-归约,所以这一文法不是slr(1)文法。

二、 证明下列文法。

s aa | bac | bc | bbaa db d

是lr(1)文法但不是lalr(1)文法。

略。三、 (附加题,选做)类似ll(1)文法,我们很容易给出ll(k)文法的定义。 对于一个上下文无关文法,如果递归下降分析器(recursive-descent parser)每次都可以通过向前看k个符号来确定选用哪一个产生式而不需要回溯,这一文法便称为ll(k)文法。

试构造一个无左递归且无二义的文法,使得对任意固定的k,这一文法都不是ll(k)文法。

s a | b

a aa | a

b ab | b

编译原理第5 7章作业 含答案

第5 7章课后作业 含答案 1 将文法g s 改写为等价的g s 使g s 不含左递归和左公共因子。g s s bsae ba a abd dc a 解 g s s bs s sae a a dc a a a bd a 2 有文法g s s abf a bbs e b dag 证明文法g是ll 1 ...

编译原理作业1答案

计算机科学系 2012春季学期。编译原理 第一次作业参 一 下列正则表达式定义了什么语言 用尽可能简短的自然语言描述 1.b ab ab 所有含有偶数个a的由a和b组成的字符串。2.c a a c b a b c c b b c a a b c 答案一 所有至少含有1个a和1个b的由a,b和c组成的...

编译原理作业20150515 答案

1.写一文法,使其语言是偶正整数的集合。要求 1 允许0打头 2 不允许0打头。解 1 允许0打头且含0的偶正整数集合的文法为 n 0 d e n e 0 d 1 3 5 7 9 e 2 4 6 8 2 不允许0打头的偶正整数集合的文法为 r d e n e n 0 d e n e 0 d 1 3 ...