<code>class <a name="Racc%3a%3aParser">Racc::Parser</a> </code>

# `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 `yield`s 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].