Options
All
  • Public
  • Public/Protected
  • All
Menu

単一のLRアイテムであり、S -> A . B [$] のようなアイテムの規則id・ドットの位置・先読み記号の集合の情報を持つ

GrammarDBから与えられるトークンIDをもとにして、LR(0)およびLR(1)アイテムとしてのハッシュ値を生成することができる

Immutableであるべきオブジェクトであるため、インスタンス生成後は内部状態が変化することはないと仮定される

Hierarchy

  • ClosureItem

Index

Constructors

constructor

Properties

Private _dot_index

_dot_index: number

ドットの位置

Private _lookaheads

_lookaheads: Array<Token>

先読み記号の集合

Private _lr0_hash

_lr0_hash: string

Private _lr1_hash

_lr1_hash: string

Private _rule_id

_rule_id: number

構文のid

Private grammardb

grammardb: GrammarDB

使用する構文の情報

Accessors

dot_index

  • get dot_index(): number

lookaheads

  • get lookaheads(): Array<Token>
  • LR(1)先読み記号の集合を配列として返す

    配列のコピーではなく参照が返されるので、結果しとて得られた配列に変更を加えてはならない

    Returns Array<Token>

rule_id

  • get rule_id(): number

Methods

getLR0Hash

  • getLR0Hash(): string

getLR1Hash

  • getLR1Hash(): string

isSameLR0

isSameLR1

merge

  • LR0部分が同じ2つのClosureItemについて、先読み部分を統合した新しいClosureItemを生成する

    異なるLR(0)アイテムであった場合、nullを返す

    Parameters

    Returns ClosureItem | null

    先読み部分がマージされた新しいLRアイテム

separateByLookAheads

Private sortLA

  • sortLA(): void

Private updateHash

  • updateHash(): void

Generated using TypeDoc