PHPKonf 2020 Online

Класс Parle\RParser

(PECL parle >= 0.7.0)

Введение

Класс парсера. Правила могут быть определены на лету. После завершения необходимо создать экземпляр Parle\RLexer для доставки потока токенов.

Обзор классов

Parle\RParser {
/* Константы */
const int ACTION_ERROR = 0 ;
const int ACTION_SHIFT = 1 ;
const int ACTION_REDUCE = 2 ;
const int ACTION_GOTO = 3 ;
const int ACTION_ACCEPT = 4 ;
const int ERROR_SYNTAX = 0 ;
const int ERROR_NON_ASSOCIATIVE = 1 ;
const int ERROR_UNKNOWN_TOKEN = 2 ;
/* Свойства */
public int $action = 0 ;
public int $reduceId = 0 ;
/* Методы */
public advance ( ) : void
public build ( ) : void
public consume ( string $data , Parle\RLexer $rlexer ) : void
public dump ( ) : void
public left ( string $tok ) : void
public nonassoc ( string $tok ) : void
public precedence ( string $tok ) : void
public push ( string $name , string $rule ) : int
public reset ([ int $tokenId ] ) : void
public right ( string $tok ) : void
public sigil ([ int $idx ] ) : string
public token ( string $tok ) : void
public tokenId ( string $tok ) : int
public trace ( ) : string
public validate ( string $data , Parle\RLexer $lexer ) : bool
}

Предопределенные константы

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

Свойства

action

Текущее действие парсера, которое соответствует одной из констант класса действия, только для чтения.

reduceId

Идентификатор правила грамматики, только что обработанный в действии сокращения. Значение соответствует токену или производственному идентификатору. Только для чтения.

Содержание

add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top