Parle\RLexer::push

(PECL parle >= 0.5.1)

Parle\RLexer::pushAñade una regla de análisis

Descripción

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

Añade un patrón para el reconocimiento de lexemas.

Un 'estado de inicio' y un 'estado de salida' pueden ser especificados utilizando una firma adecuada. Un 'estado de inicio' (start state) y un 'estado de salida' (exit state) pueden ser especificados utilizando una firma adecuada.

Parámetros

regex

Expresión regular utilizada para el reconocimiento de lexemas.

id

El identificador del token. Si la instancia del analizador léxico está destinada a ser utilizada sola, puede ser un número arbitrario. Si la instancia del analizador léxico debe ser pasada al analizador, debe ser un identificador devuelto por Parle\RParser::tokenid().

state

Nombre del estado. Si '*' se utiliza como estado de inicio, entonces la regla se aplica a todos los estados del analizador léxico.

newState

El nuevo nombre del estado, después de la aplicación de la regla.

Si '.' se especifica como estado de salida, entonces el estado del analizador léxico no se modifica cuando esta regla coincide. Un estado de salida con '>' antes del nombre significa empujar. Utilice la firma sin id para la continuación o para comenzar la coincidencia, cuando se requiere una continuación o recursión.

Si '<' se especifica como estado de salida, esto significa extraer. En este caso, la firma que contiene el id puede ser utilizada para identificar la coincidencia. Es importante señalar que incluso en el caso de que un id sea especificado, la regla terminará primero cuando todas las empujes previas hayan sido eliminadas.

Valores devueltos

No devuelve ningún valor.

add a note

User Contributed Notes

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