Pegasus::Language::LanguageData
Inherits JSON::Serializable / Reference / Object
The complete data class, built to be all the information needed to construct a parser generator.
Constructors
new(pull : JSON::PullParser)
Sourcenew(*, __pull_for_json_serializable pull : JSON::PullParser)
SourceInstance methods
items
The items in the language. Used for reducing / building up trees once a reduce action is performed.
lex_final_table
The table that maps a state ID to a token ID, used to recognize that a match has occured.
lex_state_table
The state table for the lexer, which is used for transitions
of the Nfa::Nfa during tokenizing.
max_terminal
The highest terminal ID, used for correctly accessing the tables indexed by both terminal and nonterminal IDs.
parse_action_table
Action table indexed by the state and the lookahead item. Used to determine what the parser should do in each state.
parse_state_table
Transition table for the LALR parser automaton, indexed by terminal and nonterminal IDs.