Программная реализация LR(1) - разбора
<S> - аксиома
<S>::= a<A>d|a<B>c
<A>::= b<A>|b
<B>::= <B>f|f
- S::=1a2X3
- X::= 2A4d5
- X::= 2B6c7
- A::= 2,8b8A9
- A::= 2,8Λ2,8
- B::= 2,9f9B10
- B::= 2,9Λ 2,9
Λ - означает пустую строку
№ | S | X | A | B | a | b | c | d | f | $ |
---|---|---|---|---|---|---|---|---|---|---|
1 | ДОПУСК | ошибка | ошибка | ошибка | Shift 2 | ошибка | ошибка | ошибка | ошибка | ошибка |
2 | ошибка | Shift 3 | Shift 4 | Shift 6 | ошибка | Shift 8 | ошибка | ошибка | Shift 9 | ошибка |
3 | ошибка | ошибка | ошибка | ошибка | ошибка | ошибка | ошибка | ошибка | ошибка | Reduction 1 |
4 | ошибка | ошибка | ошибка | ошибка | ошибка | ошибка | ошибка | Shift 5 | ошибка | ошибка |
5 | ошибка | ошибка | ошибка | ошибка | ошибка | ошибка | ошибка | ошибка | ошибка | Reduction 2 |
6 | ошибка | ошибка | ошибка | ошибка | ошибка | ошибка | Shift 7 | ошибка | ошибка | ошибка |
7 | ошибка | ошибка | ошибка | ошибка | ошибка | ошибка | ошибка | ошибка | ошибка | Reduction 3 |
8 | ошибка | ошибка | Shift 9 | ошибка | ошибка | Shift 8 | ошибка | Reduction 5 | ошибка | Reduction 5 |
9 | ошибка | ошибка | ошибка | Shift 10 | ошибка | ошибка | Reduction 7 | Reduction 4 | Shift 9 | Reduction 4 |
10 | ошибка | ошибка | ошибка | ошибка | ошибка | ошибка | Reduction 6 | ошибка | ошибка | Reduction 6 |