Изменения

Перейти к: навигация, поиск

LR(1)-разбор

14 байт добавлено, 15:40, 20 сентября 2015
м
Псевдокод
Псевдокод построения множеств $closure$ и $goto$, а также множества наборов ситуаций $items$:
<code>
'''item'''[] closure(Item'''item'''[] $I$):
'''bool''' changed
'''item'''[] $J$ = $I$
</code>
<code>
'''item'''[] goto(Item'''item'''[] $I$, '''char''' $X$):
'''item'''[] $J=\varnothing$
'''for''' $[A\rightarrow\alpha\cdot X\beta, a]\in I$
changed = ''false''
'''for''' Item[] $I\subset C$
'''for''' $X \in symbols(G')$ <font color="green">//по всем символам грамматики</font>
'''if''' $goto(I,X)\neq\varnothing$ and $goto(I,X)\not\subset C$
$C$.add($goto(I,X)$)
262
правки

Навигация