La classe Parle\Lexer

(PECL parle >= 0.5.1)

Introduction

Classe d'analyse lexicale à état unique. Les lexèmes peuvent être définis à la volée. Si l'instance de lexer particulière est destinée à être utilisée avec Parle\Parser, les identifiants de jetons doivent être pris à partir de là. Sinon, des identifiants de jetons arbitraires peuvent être fournis. Ce lexer peut offrir un certain avantage de performance par rapport à Parle\RLexer, s'il n'y a pas besoin de plusieurs états. Il est à noter que Parle\RParser n'est pas compatible avec ce lexer.

Synopsis de la classe

class Parle\Lexer {
/* Constantes */
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;
/* Propriétés */
public bool $bol = false;
public int $flags = 0;
public int $state = 0;
public int $marker = 0;
public int $cursor = 0;
/* Méthodes */
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 reset(int $pos): void
}

Propriétés

bol

Début de l'indicateur d'entrée.

flags

Drapeaux du lexer.

state

État actuel du lexer, en lecture seule.

marker

Position de la dernière correspondance de jeton, en lecture seule.

cursor

Décalage d'entrée actuel, en lecture seule.

Sommaire

add a note

User Contributed Notes

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