Нетрудно заметить, что пары состояний
Теперь можно построить таблицу LR-анализатора:
Stateactiongoto
a | b | $ | S | A |
0 | s3 | s4 | | 1 | 2 |
1 | | | accept | | |
2 | s6 | s7 | | | 5 |
3 | s3 | s4 | | | 8 |
4 | r3 | r3 | | | |
5 | | | r1 | | |
6 | s6 | s7 | | | 9 |
8 | r2 | r2 | | | |
9 | | | r2 | | |
Нетрудно заметить, что пары состояний 3 и 6, 4 и 7, 8 и 9 различаются только вторыми компонентами, определяющих их ситуаций. Поэтому мы можем "склеить" эти пары. В результате получится таблица LALR-анализатора:
Stateactiongoto
a | b | $ | S | A |
0 | s36 | s47 | | 1 | 2 |
1 | | | accept | | |
2 | s36 | s47 | | | 5 |
36 | s36 | s47 | | | 89 |
47 | r3 | r3 | r3 | | |
5 | | | r1 | | |
89 | r2 | r2 | r2 | | |
Содержание раздела