Procedure AjouterEtape(Identifiant : Entier,
ActionEtape : Nul Ou Fonction(ValeurLexicale : Nul Ou Objet, ValeurSemantique : Nul Ou Objet, NumeroLigne : Entier, NumeroColonne : Entier) Retourner ActionEtapeReponse=Nul,
ActionParametreEtape : Nul Ou Fonction(ValeurLexicale : Nul Ou Objet, ValeurParametre : Nul Ou Objet, NumeroLigne : Entier, NumeroColonne : Entier) Retourner ActionEtapeReponse=Nul);
Procedure Optimiser(NulAbsorbant) AjouterEtape(NT : Nul Ou NonTerminalSyntaxique,
ActionEtape : Nul Ou Fonction(ValeurLexicale : Nul Ou Objet, ValeurSemantique : Nul Ou Objet, NumeroLigne : Entier, NumeroColonne : Entier) Retourner ActionEtapeReponse=Nul,
ActionParametreEtape : Nul Ou Fonction(ValeurLexicale : Nul Ou Objet, ValeurParametre : Nul Ou Objet, NumeroLigne : Entier, NumeroColonne : Entier) Retourner ActionEtapeReponse=Nul);
Procedure Optimiser(NulAbsorbant) AjouterEtape(Libelle : Nul Ou Caractere,
ActionEtape : Nul Ou Fonction(ValeurLexicale : Nul Ou Objet, ValeurSemantique : Nul Ou Objet, NumeroLigne : Entier, NumeroColonne : Entier) Retourner ActionEtapeReponse=Nul,
ActionParametreEtape : Nul Ou Fonction(ValeurLexicale : Nul Ou Objet, ValeurParametre : Nul Ou Objet, NumeroLigne : Entier, NumeroColonne : Entier) Retourner ActionEtapeReponse=Nul);
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.
/****************************************************************/
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
/******/
MonAnalyseurSyntaxique : Nul Ou AnalyseurSyntaxique;
MonNonTerminalSyntaxique : Nul Ou NonTerminalSyntaxique;
MaRegleSyntaxique : Nul Ou RegleSyntaxique;
Debut
...
MaRegleSyntaxique.AjouterEtape(ElementEntier, ActionEtape1);
MaRegleSyntaxique.AjouterEtape(MonNonTerminal, ActionEtape2);
MaRegleSyntaxique.AjouterEtape(";", ActionEtape3);
...
Fin Principal
- | - | - | - | - | - | - | - | - |