Class Parser.LR.Parser

Description

This object implements an LALR(1) parser and compiler.

Normal use of this object would be:

 set_error_handler
 {add_rule, set_priority, set_associativity}*
 set_symbol_to_string
 compile
 {parse}*
 


Variable error_handler

function(SeverityLevel, string, string, mixed ... :void) Parser.LR.Parser.error_handler

Description

Compile error and warning handler.


Variable grammar

mapping(int:array(Rule)) Parser.LR.Parser.grammar

Description

The grammar itself.


Variable known_states

mapping(string:Kernel) Parser.LR.Parser.known_states

Description

LR0 states that are already known to the compiler.


Variable lr_error

int Parser.LR.Parser.lr_error

Description

Error code


Variable s_q

StateQueue|zero Parser.LR.Parser.s_q

Description

Contains all states used. In the queue section are the states that remain to be compiled.


Variable start_state

Kernel|zero Parser.LR.Parser.start_state

Description

The initial LR0 state.