Программная реализация LL(1)-разбора
<A> - аксиома
<A>::= <B>|<D>
<B>::= <B><C><C>|a
<C>::= ba
<D>::= <C>a<D>|b
1. A::= B
2. A::= D
3. B::= aZ
4. Z::= CCZ
5. Z::= Λ
6. C::= ba
7. D::= bX
8. X::= aaD
9. X::= Λ
Λ - означает пустую строку
Посмотреть эту грамматику в LR(1) интерпертации можно здесь
Символ | a | b | $ |
---|---|---|---|
A | 1 | 2 | ошибка |
B | 3 | ошибка | 1 |
Z | ошибка | 4 | 5 |
C | ошибка | 6 | ошибка |
D | ошибка | 7 | ошибка |
X | 9 | ошибка | 9 |
a | выброс | ошибка | ошибка |
b | ошибка | выброс | ошибка |
$ | ошибка | ошибка | допуск |