Parle\RLexer::push

(PECL parle >= 0.5.1)

Parle\RLexer::pushAdiciona uma regra de análise léxica

Descrição

public Parle\RLexer::push(string $regex, int $id): void
public Parle\RLexer::push(
    string $state,
    string $regex,
    int $id,
    string $newState
): void
public Parle\RLexer::push(string $state, string $regex, string $newState): void

Insere na pilha um padrão de reconhecimento de lexema.

Um 'estado inicial' e um 'estado de saída' podem ser especificados usando uma assinatura adequada.

Parâmetros

regex

Expressão regular usada para correspondência de tokens.

id

ID do token. Se a instância do analisador léxico for destinada a ser usada de forma independente, este pode ser um número arbitrário. Se a instância do analisador léxico for passada para o analisador, deve ser um ID retornado por Parle\RParser::tokenid().

state

Nome do estado. Se '*' for usado como estado inicial, a regra será aplicada a todos os estados do analisador léxico.

newState

Novo nome do estado, após a aplicação da regra.

Se "." for especificado como o estado de saída, o estado do analisador léxico permanecerá inalterado quando essa regra corresponder. Um estado de saída com ">" antes do nome significa push. Use a assinatura sem ID para continuação ou para iniciar a correspondência, quando uma continuação ou recursão for necessária.

Se '<' for especificado como estado de saída, significa remoção da pilha. Nesse caso, a assinatura contendo o ID pode ser usada para identificar a correspondência. Observe que, mesmo que um ID seja especificado, a regra será encerrada primeiro quando todos as inserções de pilha anteriores forem removidas.

Valor Retornado

Nenhum valor é retornado.

adicione uma nota

Notas Enviadas por Usuários (em inglês)

Não há notas de usuários para esta página.
To Top