
编译原理学习指南——《龙书》文法练习
5星
- 浏览量: 0
- 大小:None
- 文件类型:PPT
简介:
本指南聚焦于《编译原理》(《龙书》)中的文法内容,提供丰富的练习题和解析,旨在帮助读者深入理解与应用形式语言及编译技术的核心概念。
练习:文法G(S)
S→aTS’
S’ →*aTS’| ε
T →+aT| ε
消去左递归后求FIRST和FOLLOW集。
对于句子a*a*a+a的分析过程如下:
1. 句子为 a*a*a+a
2. 根据S→ aTS,可以推导出 S → a * TS
3. 由于下一个符号是*而不是+, 故使用规则S’ →*aTS’, 则句子变为 a * (aT)S’
4. 再次应用规则 T →+aT, 因为当前字符不是 +, 所以选择 ε,即 S 变成ε。此时的表达式是 a*a+a
5. 根据前面步骤得到:S -> a* (aTS) ,继续使用规则 S’ → ε
6. 到达下一个a时, 应用T→+aT或 T → ε,由于当前字符为 a,我们选择应用 T → +aT。此时句子变为 a*a+a
7. 对于最后一个 +, 使用规则 T -> + aT ,但因为没有更多符号可以继续匹配了,所以这里使用 T 的第二部分规则即T→ε
最终的分析过程就是 S → a * (aTS) 且S和T都取 ε。
全部评论 (0)
还没有任何评论哟~


