zhilyaev / LL-1

Программная реализация LL(1)-разбора

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

LL-1

Программная реализация LL(1)-разбора

Первоначальная грамматика языка

<A> - аксиома
<A>::= <B>|<D>
<B>::= <B><C><C>|a      
<C>::= ba      
<D>::= <C>a<D>|b 

Преобразованная грамматика под LL(1)

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 ошибка выброс ошибка
$ ошибка ошибка допуск

About

Программная реализация LL(1)-разбора

License:GNU General Public License v3.0


Languages

Language:Java 100.0%