The Parle\RParser class

Introduction

Parser class. Rules can be defined on the fly. Once finalized, a Parle\RLexer instance is required to deliver the token stream.

Class synopsis

Parle\RParser
class Parle\RParser {
/* Constants */
const int Parle\RParser::ACTION_ERROR = 0;
const int Parle\RParser::ACTION_SHIFT = 1;
const int Parle\RParser::ACTION_REDUCE = 2;
const int Parle\RParser::ACTION_GOTO = 3;
const int Parle\RParser::ACTION_ACCEPT = 4;
const int Parle\RParser::ERROR_SYNTAX = 0;
const int Parle\RParser::ERROR_NON_ASSOCIATIVE = 1;
const int Parle\RParser::ERROR_UNKNOWN_TOKEN = 2;
/* Properties */
public int $action = 0;
public int $reduceId = 0;
/* Methods */
public void advance()
public void build()
public void consume(string $data, Parle\RLexer $rlexer)
public void dump()
public Parle\ErrorInfo errorInfo()
public void left(string $tok)
public void nonassoc(string $tok)
public void precedence(string $tok)
public int push(string $name, string $rule)
public void reset(int $tokenId = ?)
public void right(string $tok)
public string sigil(int $idx = ?)
public int sigilCount()
public string sigilName(int $idx)
public void token(string $tok)
public int tokenId(string $tok)
public string trace()
public bool validate(string $data, Parle\RLexer $lexer)
}

Predefined Constants

Parle\RParser::ACTION_ERROR

Parle\RParser::ACTION_SHIFT

Parle\RParser::ACTION_REDUCE

Parle\RParser::ACTION_GOTO

Parle\RParser::ACTION_ACCEPT

Parle\RParser::ERROR_SYNTAX

Parle\RParser::ERROR_NON_ASSOCIATIVE

Parle\RParser::ERROR_UNKNOWN_TOKEN

Properties

action

Current parser action that matches one of the action class constants, readonly.

reduceId

Grammar rule id just processed in the reduce action. The value corresponds either to a token or to a production id. Readonly.

Table of Contents