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

发布 2022-07-02 09:22:28 阅读 7188

第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)文法,并构造**分析表。

解】:计算first、follow、select集。

由上表可知:该文法中,所有相同左部不同右部的产生式select集两两相交均为空集,所以该文法为ll(1)文法。

构造**分析表。

3、已知文法g[s]:s→(a)│a│b a→acs│s 构造文法的算符优先矩阵,并判断该文法是否是算符优先文法。

解】:拓展该文法:s’→#s# s→(a)│a│b a→acs│s

计算firstvt与lastvt:

计算算符优先关系:

# < firstvt(s) (firstvt(a) c< firstvt(a)

lastvt(s) ># lastvt(a) >lastvt(a) >c

构造算符优先矩阵(注:按终结符出现顺序列表):

因为该文法g为2型文法,且不含空产生式,没有形如 u…vw…的产生式,其中v,w∈vn,所以 g 为算符文法;又因为g 中任意两个终结符间至多有一种算符优先关系存在(算符优先矩阵无冲突,见上表),所以g 为算符优先文法。

4、课后习题 p122:4(2)

已知文法:s→ s;g|g g→ g(t)|h h→ a|(s) t→ t+s|s

求句型a(t+s);h;(s) 的短语、直接短语、句柄、素短语与最左素短语。

解】:该句型的对应的语法树如下:

短语: a t+s h (s) a(t+s);h a(t+s);h;(s)

直接短语: a t+s h (s)

句柄: a素短语: a t+s (s)

最左素短语:a

5. 给定文法g[a]:a→(a)│a,构造出该文法的lr(1)分析表。

解】对该文法拓广,得其拓广文法g[s’]:

(0) s’→a

(1) a→(a)

(2) a→a

计算其lr(1)项目集规范族如下:

i0 = i1 = goto(i0,a) =

i2 = goto(i0,()

i3 = goto(i0,a) =

i4 = goto(i2,a) =

i5 = goto(i2,()

i6 = goto(i2,a) =

i7 = goto(i4,))

i8 = goto(i5,a) =

goto(i5,()i5 ; goto(i5,a) =i6

i9 = goto(i8,))

构造lr(1)分析表:

6、证明文法 s bb b b*a b a

不是lr(0)文法,而是 slr(1)文法。

解】对该文法拓广,得其拓广文法g[s’]:

(0) s’→s (1) s bb (2) b b*a (3) b a

计算其lr(0)项目集规范族如下:

i0 = closure =

i1 = goto(i0,s) =

i2 = goto(i0,b) =

i3 = goto(i2,b) =

i4 = goto(i2,a) =

i5 = goto(i3,*)

i6 = goto(i5,a) =

因为该文法的lr(0)项目集规范族中有一个项目集i3同时存在移进项目与归约项目,即“移进-归约”冲突,所以不是lr(0)文法。

i3 = 而,follow(s

follow(s

即可采用follow集能解决其冲突,所以该文法是slr(1)文法。

编译原理平时作业 含答案

1 对于下列语言分别写出它们的正规表达式。1 英文字母组成的所有符号串,要求符号串中顺序包含五个元音。答 令letter表示除这五个元音外的其它字母。letter a letter e letter i letter o letter u letter 2 英文字母组成的所有符号串,要求符号串中的字...

编译原理6章作业答案

第五章。练习5.1.1 对于图5 1中的sdd,给出下列表达式对应的注释语法分析树 1 3 4 5 6 n 练习5.2.4 这个文法生成了含 小数点 的二进制数 s l lb b b 0 1 设计一个l属性的sdd来计算即输入串的十进制数值。比如,串101.101应该被翻译为十进制的5.625。提示...

编译原理作业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组成的...