使用する構文の情報
構文のid
ドットの位置
先読み記号の集合
ドットの位置
先読み記号の集合
構文のid
使用する構文の情報
現在の読み込み位置を意味するドットの位置を返す
LR(1)先読み記号の集合を配列として返す
配列のコピーではなく参照が返されるので、結果しとて得られた配列に変更を加えてはならない
自身の規則idを返す
規則idはルールの定義順に0,1,2,...と割り振られる
先読み部分を除いたLR(0)アイテムとしてのハッシュ文字列を得る
先読み部分を含めたLR(1)アイテムとしてのハッシュ文字列を得る
LR(0)ハッシュの一致を調べる
比較対象のLRアイテム
LR(1)ハッシュの一致を調べる
比較対象のLRアイテム
LR0部分が同じ2つのClosureItemについて、先読み部分を統合した新しいClosureItemを生成する
異なるLR(0)アイテムであった場合、nullを返す
マージ対象のLRアイテム
先読み部分がマージされた新しいLRアイテム
LR0部分を維持しながらLR1先読み記号ごとにClosureItemを分割し、先読み記号の数が1のClosureItemの集合を生成する
先読み記号の配列を、GrammarDBによって割り振られるトークンid順にソートする
ハッシュ文字列を生成する
Generated using TypeDoc
単一のLRアイテムであり、
S -> A . B [$]
のようなアイテムの規則id・ドットの位置・先読み記号の集合の情報を持つGrammarDBから与えられるトークンIDをもとにして、LR(0)およびLR(1)アイテムとしてのハッシュ値を生成することができる
Immutableであるべきオブジェクトであるため、インスタンス生成後は内部状態が変化することはないと仮定される