Изменения
Нет описания правки
Item[] closure(Item[] I):
'''bool''' changed
Item[] $J $ = $I $
'''repeat'''
changed = ''false''
'''for''' $(B\rightarrow\gamma)\in G'$
'''for''' $b\in FIRST(\beta\alpha)$
$J$.add($[B\rightarrow\cdot\gamma,b]$)
changed = ''true''
'''until''' not changed
'''return''' $J$
</code>
<code>
Item[] goto(Item[] I, X):
Item[] $J $=\varnothing$
'''for''' $[A\rightarrow\alpha\cdot X\beta, a]\in I$
$J$.add($[A\rightarrow\alpha X\cdot\beta, a]$)
'''return''' $closure(J)$
</code>