Введение
PHP Manual
PHP Manual»Parle»Parle\RLexer

Класс Parle\RLexer

(PECL parle >= 0.5.1)

Класс лексера с несколькими состояниями. Лексемы можно определять на лету. Если конкретный экземпляр лексера предназначен для работы с классом Parle\RParser, идентификаторы токенов должны быть взяты оттуда. В противном случае могут быть предоставлены произвольные идентификаторы токенов. Обратите внимание, что класс Parle\Parser несовместим с этим лексером.

class Parle\RLexer {
/* Константы */
const int ICASE = 1;
const int DOT_NOT_LF = 2;
const int DOT_NOT_CRLF = 4;
const int SKIP_WS = 8;
const int MATCH_ZERO_LEN = 16;
/* Свойства */
public bool $bol = false;
public int $flags = 0;
public int $state = 0;
public int $marker = 0;
public int $cursor = 0;
/* Методы */
public function advance(): void
public function build(): void
public function callout(int $id, callable $callback): void
public function consume(string $data): void
public function dump(): void
public function getToken(): Parle\Token
public function insertMacro(string $name, string $regex): void
public function push(string $regex, int $id): void
public function push(
    string $state,
    string $regex,
    int $id,
    string $newState
): void
public function push(string $state, string $regex, string $newState): void
public function pushState(string $state): int
public function reset(int $pos): void
}
bol

Флаг начала ввода.

flags

Флаги лексера.

state

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

marker

Позиция последнего совпадения токена, только для чтения.

cursor

Текущее смещение ввода, только для чтения.

Содержание

To Top