前言

  • 课本: 编译原理(第三版)[王生原、董渊…等编著]
  • 习题: 主要习题内容是第一章到第八章,具体内容如下表
章节内容链接
第一章课后部分选择题https://blog.csdn.net/Zchengjisihan/article/details/136243955
第二章课后部分选择题https://blog.csdn.net/Zchengjisihan/article/details/136243955
第三章课后习题1(4)、5、9https://blog.csdn.net/Zchengjisihan/article/details/136264182
第四章课后习题1、2、3https://blog.csdn.net/Zchengjisihan/article/details/136264485
第五章课后习题1、4https://blog.csdn.net/Zchengjisihan/article/details/136264816
第六章课后习题11、15https://blog.csdn.net/Zchengjisihan/article/details/136276626
第七章课后习题2https://blog.csdn.net/Zchengjisihan/article/details/136277222
第八章课后习题1https://blog.csdn.net/Zchengjisihan/article/details/136277222

1. 对文法G[S]

S → a ∣ ∧ ∣ ( T ) S\to a|\wedge|(T) Sa(T)
T → T , S ∣ S T\to T,S|S TT,SS
(1)给出 ( a , ( a , a ) ) (a,(a,a)) (a,(a,a)) ( ( ( a , a ) , ∧ , ( a ) ) , a ) (((a,a), \wedge ,(a) ),a) (((a,a),,(a)),a)的最左推导
(2)对文法G进行改写,然后对每个非终结符写出不带回溯的递归子程序
(3) 经改写后的文法是否是LL(1)的?给出它的预测分析表
(4) 给出输入串 ( a . a ) # (a.a)\# (a.a)#的分析过程,并说明该串是否为G的句子

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

2. 对下面的文法G

E → T E ′ E\to TE' ETE
E ′ → + E ∣ ϵ E'\to +E|\epsilon E+Eϵ
T → F T ′ T\to FT' TFT
T ′ → T ∣ ϵ T'\to T|\epsilon TTϵ
F → P F ′ F\to PF' FPF
F ′ → ∗ F ′ ∣ ϵ F'\to *F'|\epsilon FFϵ
P → ( E ) ∣ a ∣ b ∣ ∧ P\to (E)|a|b|\wedge P(E)ab
(1)给计算这个文法每个非终结符的FIRST集和FLLOW集
(2)证明这个文法是LL(1)的
(3) 构造它的预测分析表
(4) 构造它的递归下降分析程序

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

3. 已知文法G[S]

S → M H ∣ a S\to MH|a SMHa
H → L S o ∣ ϵ H\to LSo|\epsilon HLSoϵ
K → d M L ∣ ϵ K\to dML|\epsilon KdMLϵ
L → e H f L\to eHf LeHf
M → K ∣ b L M M\to K|bLM MKbLM
判断G是否是LL(1)文法,如果是,构造LL(1)分析表

请添加图片描述
请添加图片描述

结束语

如果有疑问欢迎大家留言讨论,你如果觉得这篇文章对你有帮助可以给我一个免费的赞吗?我们之间的交流是我最大的动力!

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐