class Racc::Parser

Super Class

Object

Instance Methods

do_parse -> Object

The entry point of parser. This method is used with #next_token. If Racc wants to get token (and its value), calls next_token.

# Example
---- inner
  def parse
    @q = [[1,1],
          [2,2],
          [3,3],
          [false, '$']]
    do_parse
  end

  def next_token
    @q.shift
  end
next_token -> [Symbol, Object]

[abstract method]

The method to fetch next token. If you use #do_parse method, you must implement #next_token. The format of return value is [TOKEN_SYMBOL, VALUE]. token-symbol is represented by Ruby's symbol by default, e.g. :IDENT for IDENT. ";" (String) for ;.

The final symbol (End of file) must be false.

yyparse( receiver, method_id )

The another entry point of parser. If you use this method, you must implement receiver#method_id method.

receiver#method_id is a method to get next token. It must yields token, which format is [TOKEN-SYMBOL, VALUE].

on_error( error_token_id, error_value, value_stack )

This method is called when parse error is found.

error_token_id is an internal ID of token which caused error. You can get string replesentation of this ID by calling #token_to_str.

error_value is a value of error token.

value_stack is a stack of symbol values. DO NOT MODIFY this object.

This method raises ParseError by default.

If this method returns, parsers enter "error recovering mode".

token_to_str( t ) -> String

Convert internal ID of token symbol to the string.

yyerror

Enter error recovering mode. This method does not call #on_error.

yyerrok

Leave error recovering mode.

yyaccept

Exit parser. Return value is Symbol_Value_Stack[0].