International PHP Conference Berlin 2025

La classe Parle\RLexer

(PECL parle >= 0.5.1)

Introduction

Classe d'analyse lexicale à états multiples. 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\RParser, les identifiants de jetons doivent être pris à partir de là. Sinon, des identifiants de jetons arbitraires peuvent être fournis. Il convient de noter que Parle\Parser n'est pas compatible avec ce lexer.

Synopsis de la classe

class Parle\RLexer {
/* 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 advance(): void
public build(): void
public callout(int $id, callable $callback): void
public consume(string $data): void
public dump(): void
public insertMacro(string $name, string $regex): void
public push(string $regex, int $id): void
public push(
    string $state,
    string $regex,
    int $id,
    string $newState
): void
public push(string $state, string $regex, string $newState): void
public pushState(string $state): int
public reset(int $pos): void
}

Propriétés

bol

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

flags

Drapeaux du lexer.

state

Etat 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