262
правки
Изменения
м
Item'''item'''[] closure(Item[] $I$):
Item'''item'''[] $J$ = $I$
Item'''item'''[] goto(Item[] $I$, $X$): Item'''item'''[] $J=\varnothing$
Item'''item'''[][] items($G'$):
Item'''item'''[][] $C = \{closure({S'\rightarrow\cdot S,\char36})\}$
→Псевдокод
Псевдокод построения множеств $closure$ и $goto$, а также множества наборов ситуаций $items$:
<code>
'''bool''' changed
'''repeat'''
changed = ''false''
</code>
<code>
'''for''' $[A\rightarrow\alpha\cdot X\beta, a]\in I$
$J$.add($[A\rightarrow\alpha X\cdot\beta, a]$)
</code>
<code>
'''bool''' changed
'''repeat'''
changed = ''false''