Options
All
  • Public
  • Public/Protected
  • All
Menu

字句解析器 入力を受け取ってトークン化する

Hierarchy

  • Lexer

Implements

Index

Constructors

constructor

Properties

Private _def

_def: Array<object>

Private _input

_input: string

Private _next_index

_next_index: number

Private _reset

_reset: object

Type declaration

  • def: Array<object>
  • flg_modified: boolean
  • id: number

Private _rule_id

_rule_id: number

Private _status

_status: "uninitialized" | "ready" | "finished"

Private callback_controller

callback_controller: CallbackController

Accessors

next_index

  • get next_index(): number

status

  • get status(): "uninitialized" | "ready" | "finished"
  • 字句解析器の内部状態を取得する

    Returns "uninitialized" | "ready" | "finished"

Methods

add

  • 字句規則を追加し、そのidを返す

    Parameters

    • rule: LexRule

      新しく追加するルール

    Returns number

    追加されたルールの持つid

del

  • 字句規則を削除する 削除に失敗した場合は例外をスローする

    TODO: もっとましな実装にする

    Parameters

    • id: number

      削除するルールのid

    Returns LexRule

    削除されたルール

exec

  • 与えられた入力をすべて解析し、トークン列を返す

    Parameters

    • Optional input: string

      解析する入力

    Returns Array<TokenizedInput>

    入力から生成されたトークン列

init

  • init(input: string): void
  • 入力を与えて解析可能(step()を呼び出し可能)な状態にする

    Parameters

    • input: string

      解析する入力

    Returns void

reset

  • reset(input?: string): void
  • Lexerの内部状態をコンストラクタ呼び出し直後まで戻す

    Parameters

    • Optional input: string

    Returns void

setCallbackController

setCurrentDefinitionAsDefault

  • setCurrentDefinitionAsDefault(): void
  • 字句解析機のリセット時に現在の字句規則になるようにする

    Returns void

step

Generated using TypeDoc