UpsPrs.RegleSyntaxique.AjouterEtape

Procedure AjouterEtape(Identifiant : Entier, Procedure Optimiser(NulAbsorbant) AjouterEtape(NT : Nul Ou NonTerminalSyntaxique, Procedure Optimiser(NulAbsorbant) AjouterEtape(Libelle : Nul Ou Caractere,

Description

La méthode AjouterEtape permet d'ajouter une nouvelle étape à la règle syntaxique à la suite de l'étape précédement ajoutée. A défaut, il s'agit de la première étape de la règle.

L'étape peut être soit :

Si l'étape est la réduction d'un non-terminal paramétré, le paramètre ActionEtape est la fonction de rappel optionnelle appelée pour paramétrer ce non-terminal.

Le paramètre ActionEtape est la fonction de rappel optionnelle appelée quand l'étape est reconnue.

Voici les paramètres de ces deux fonctions de rappel :

La valeur de retour doit être conforme à la convention de l'énuméré ActionEtapeReponse.

Exemple

/****************************************************************/
Fonction ActionEtape1(ValeurLexicale : Nul Ou Objet, ValeurSemantique : Nul Ou Objet, NumeroLigne : Entier, NumeroColonne : Entier) Retourner ActionEtapeReponse
/* Objet : Traite une action suite a la reconnaissance d'une etape. */
/****************************************************************/
Debut
...
Fin Fonction

/****************************************************************/
Fonction ActionEtape2(ValeurLexicale : Nul Ou Objet, ValeurSemantique : Nul Ou Objet, NumeroLigne : Entier, NumeroColonne : Entier) Retourner ActionEtapeReponse
/* Objet : Traite une action suite a la reconnaissance d'une etape. */
/****************************************************************/
Debut
...
Fin Fonction

/****************************************************************/
Fonction ActionEtape3(ValeurLexicale : Nul Ou Objet, ValeurSemantique : Nul Ou Objet, NumeroLigne : Entier, NumeroColonne : Entier) Retourner ActionEtapeReponse
/* Objet : Traite une action suite a la reconnaissance d'une etape. */
/****************************************************************/
Debut
...
Fin Fonction

Principal
/*******/
Variable
/******/

Debut
...
MaRegleSyntaxique.AjouterEtape(ElementEntier, ActionEtape1);
MaRegleSyntaxique.AjouterEtape(MonNonTerminal, ActionEtape2);
MaRegleSyntaxique.AjouterEtape(";", ActionEtape3);
...
Fin Principal

Voir aussi

ChangerEtat pour changer l'état d'une règle. ChangerPriorite pour changer la priorité d'une règle.

Traduction

---------