手机版

编译原理 龙书答案(5)

发布时间:2021-06-08   来源:未知    
字号:

编译原理 龙书答案

正规式:1*(0 | 01)*

e) 具有形式xy的二进制串,x≠y S→ A | B | A B | B A A→ D A D | 0 B→ D B D | 1 D→ 0 | 1

A、B分别表示中心符号为0、1的长度为奇数的二进制串

将AB串接,长度为偶数,将它从中间分为长度相等的两部分,x、y

虽然A、B长度可能不一样,但容易得到,A的中心0在x中的位置,与B的中心1在y中的位置是相同的,因此x≠y BA的情况类似

f) 形如xx的0、1串

解:此语言无法用上下文无关文法描述

(Aho)4.11 对习题4.1中文法 a) 消除左递归 S→( L ) | a L→S L’ L’→, S L’ |

b) 构造预测分析表,对4.1(b)中句子,给出预测分析器的运行过程 FIRST(S) = { (, a ) FIRST(L) = { (, a } FIRST(L’) = { ‘,’, } FOLLOW(S) = {‘,’, ), $} FOLLOW(L) = { ) } FOLLOW(L’) = { ) } 预测分析表:

编译原理 龙书答案

其他两个句子的分析过程类似

(Aho)4.13 下面文法产生除

外所有长度为偶数的a的串

S → a S a | a a

a)试为该文法构造一个带回溯的递归下降语法分析器,对S的两个候选式首先考虑aSa。证明:S所对应的过程可以成功分析2、4、8个a的串,但6个a的串不行。

解:aa的分析过程,其中√表示匹配成功,×表示匹配失败,匹配失败则尝试下个候选式

aaaa分析过程:

aaaaaa分析过程:

aaaaaaaa分析过程:

编译原理 龙书答案

b)此语法分析器能识别什么样的语言?

解:由a)的解可以看出,2N个a的串分析过程中,步骤如下

1) 产生2N+1个S的语法树,对第2N+1个S进行扩展时输入缓冲已空,失败 2) 对第2N个S尝试候选式aa,第二个a匹配失败

3) 对第2N-1个S尝试候选式aa,左边N-1个a匹配,右边最后一个a匹配,倒数第二个

a失败

4) 对第2N-2个S尝试候选式aa,左边N-2个a匹配,右边最后一个a和倒数第二个a匹

配,倒数第三个a失败

5) 对第2N-4个S尝试候选式aa,左边N-4个a匹配,右边最后一个a~倒数第四个a匹

配,倒数第五个a失败

6) 对第2N-8个S尝试候选式aa,…

最后正确识别的情况必然是:对第N个S尝试aa,左边N个a和右边N个a恰与输入匹配 显然,可以正确识别的符号串的N满足 2N – 1 – 1 – 2 – 4 - … = N N=2i

(Aho)4.25 试给出图4-60中的优先关系表对应的优先级函数 解:有向图如下

优先级函数为

(Aho)4.26 对习题4.1中文法,利用讲义中给出的算法计算终结符之间的优先关系 解: S → ( L ) | a L → L, S | S 由于S → ( L ),因此 ( )

S → ( L ),而L L , S,L S ( L ),L S a 因此 ( , ,( (,( a;, ),) ),a )

由于L → L, S,而L L , S,L S ( L ),L S a,因此 , ,,) ,,a ,

编译原理 龙书答案(5).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
×
二维码
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)