PHP Conference Japan 2024

Parle\RLexer::push

(PECL parle >= 0.5.1)

Parle\RLexer::pushAjoute une règle d'analyse

Description

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

Ajoute un modèle pour la reconnaissance des lexèmes.

A 'start state' and 'exit state' can be specified by using a suitable signature. Un 'état de début' (start state) et un 'état de sortie' (exit state) peuvent être spécifiés en utilisant une signature appropriée.

Liste de paramètres

regex

Expression régulière utilisée pour la reconnaissance des lexèmes.

id

L'identifiant du jeton. Si l'instance de l'analyseur lexical est destinée à être utilisée seule, il peut s'agir d'un nombre arbitraire. Si l'instance de l'analyseur lexical doit être passée à l'analyseur, il doit s'agir d'un identifiant retourné par Parle\RParser::tokenid().

state

State name. If '*' is used as start state, then the rule is applied to all lexer states.

newState

Le nouveau nom de l'état, après l'application de la règle.

Si '.' est spécifié comme état de sortie, alors l'état du lexer n'est pas modifié lorsque cette règle correspond. Un état de sortie avec '>' avant le nom signifie pousser. Utilisez la signature sans id pour soit la continuation ou pour commencer la correspondance, quand une continuation ou une récursion est requise.

Si '<' est spécifié comme état de sortie, cela signifie pop. Dans ce cas, la signature contenant l'id peut être utilisée pour identifier la correspondance. Il est à noter que même dans le cas où un id est spécifié, la règle se terminera d'abord lorsque tous les poussées précédentes auront été enlevées.

Valeurs de retour

Aucune valeur n'est retournée.

add a note

User Contributed Notes

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