PHPCon Poland 2024

Класс Parle\Parser

(PECL parle >= 0.5.1)

Введение

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

Обзор класса

class Parle\Parser {
/* Константы */
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;
/* Свойства */
public int $action = 0;
public int $reduceId = 0;
/* Методы */
public advance(): void
public build(): void
public consume(string $data, Parle\Lexer $lexer): 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 sigilCount(): int
public sigilName(int $idx): string
public token(string $tok): void
public tokenId(string $tok): int
public trace(): string
public validate(string $data, Parle\Lexer $lexer): bool
}

Свойства

action

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

reduceId

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

Содержание

add a note

User Contributed Notes

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