----
-

-----------
-
-

<I>::=x=<A>
<A>::=[<B>]
<A>::=x
<B>::=<A><C>
<C>::=+<A><C>
<C>::=$
	
2
x=[[x+x]+[x+x]]
	
New Chain
x=[x+[x]+[x]+[x+[[x+[[[x+x]]+[x]+[[[[[[x]]+[x]]]]]]]]+[[x]]+x]+[[x+x+[x]+[x]]]]

	
	
New Functions
 -- Оптимизированные функции для правил, правая часть которых начинается с терминала
 -- сдвиг, вытолкнуть, заменить
 (S,x,<I>)=(S,"=="<A>=,"X")                              -- для правила 1
 (S,[,<A>)=(S,]<B>,$)                              -- для правила 2
 (S,x,<A>)=(S,$,"X")                                 -- для правила 3
 (S,+,<C>)=(S,<C>"++"<A>,$)                            -- для правила 5

 -- Функции общего вида
 -- нет сдвига, заменить
*(S,x,<B>)=(S,<C><A>,$)                            -- для правила 4
*(S,[,<B>)=(S,<C><A>,$)                            -- для правила 4

 -- Функции для аннулирующих правил
 -- нет сдвига, вытолкнуть
*(S,],<C>)=(S,$,$)                            -- для правила 6

 -- Функции выталкивания терминалов
 -- сдвиг, вытолкнуть
 (S,=,=)=(S,$,$)
 (S,],])=(S,$,$)
*(S,+,"++")=(S,$,"++")
*(S,],"++")=(S,$,"++")
*(S,"-|","==")=(S,$,"==")

 -- Функция перехода в заключительное состояние
 (S,"-|","[]")=(S,$,$)

 -- Фактор определённости: 80%
 -- Всего функций для данной грамматики: 10
 -- Выдано функций: 8



