实验:SLR(1) 分析表
SLR(1) (Simple LR) 分析法是对 LR(0) 的改进。
它使用 LR(0) 的状态集(项目集族),但在构建分析表时,利用 FOLLOW 集来解决归约冲突。只有当下一个输入符号在归约产生式左部的 FOLLOW 集中时,才进行归约。
Grammar Input (SLR(1))Format:
E -> E + T States: 12
Conflicts: 0
| State | ACTION | GOTO | |||||||
|---|---|---|---|---|---|---|---|---|---|
| ( | ) | * | + | id | $ | E | F | T | |
| 0 | s1 | s2 | 3 | 5 | 4 | ||||
| 1 | s1 | s2 | 6 | 5 | 4 | ||||
| 2 | r(F → id) | r(F → id) | r(F → id) | r(F → id) | |||||
| 3 | s7 | acc | |||||||
| 4 | r(E → T) | s8 | r(E → T) | r(E → T) | |||||
| 5 | r(T → F) | r(T → F) | r(T → F) | r(T → F) | |||||
| 6 | s9 | s7 | |||||||
| 7 | s1 | s2 | 5 | 10 | |||||
| 8 | s1 | s2 | 11 | ||||||
| 9 | r(F → ( E )) | r(F → ( E )) | r(F → ( E )) | r(F → ( E )) | |||||
| 10 | r(E → E + T) | s8 | r(E → E + T) | r(E → E + T) | |||||
| 11 | r(T → T * F) | r(T → T * F) | r(T → T * F) | r(T → T * F) | |||||