# A classe Parle\Lexer

(PECL parle >= 0.5.1)

## Introdução

Classe de analisador léxico de estado único. Os lexemas podem ser definidos dinamicamente. Se a instância específica do analisador léxico for destinada ao uso com Parle\Parser, os IDs de token precisam ser obtidos de lá. Caso contrário, IDs de token arbitrários podem ser fornecidos. Este analisador léxico pode oferecer uma certa vantagem de desempenho em relação a Parle\RLexer, se múltiplos estados não forem necessários. Observe que Parle\RParser não é compatível com este analisador léxico.

## Resumo da 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;
/* Propriedades */
public bool $bol = `false`;
public int $flags = 0;
public int $state = 0;
public int $marker = 0;
public int $cursor = 0;
/* Métodos */
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
}

## Constantes predefinidas

`Parle\Lexer::ICASE`

`Parle\Lexer::DOT_NOT_LF`

`Parle\Lexer::DOT_NOT_CRLF`

`Parle\Lexer::SKIP_WS`

`Parle\Lexer::MATCH_ZERO_LEN`

## Propriedades

bol

  Início do sinalizador de entrada.

flags

  Sinalizadores do analisador léxico.

state

  Estado atual do analisador léxico, somente leitura.

marker

  Posição do último token correspondido, somente leitura.

cursor

  Posição de entrada atual, somente leitura.

## Índice

- Parle\Lexer::advance — Processa a próxima regra do analisador léxico
- Parle\Lexer::build — Finaliza o conjunto de regras do analisador léxico
- Parle\Lexer::callout — Define função de retorno para token
- Parle\Lexer::consume — Passa os dados para processamento
- Parle\Lexer::dump — Despeja a máquina de estados
- Parle\Lexer::getToken — Obtém o token atual
- Parle\Lexer::insertMacro — Insere macro de expressão regular
- Parle\Lexer::push — Adiciona uma regra de análise léxica
- Parle\Lexer::reset — Redefine o analisador léxico

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open