UpsPrs.AnalyseurSyntaxique

Définition

/****************************************************************/
Type AnalyseurSyntaxique Defaut Final TailleSegment 2
/* Objet : Definition d'un analyseur syntaxique. */
/****************************************************************/
/*-------------------------------------------------------------*/
/* Heritage des proprietes d'Objet. */
/*-------------------------------------------------------------*/
Prive : /*-------------------------------------------------------------*/
/* Proprietes propres. */
/*-------------------------------------------------------------*/
Prive : /*-------------------------------------------------------------*/
/* Heritage des methodes d'Objet. */
/*-------------------------------------------------------------*/
Public : Prive : /*-------------------------------------------------------------*/
/* Methodes propres. */
/*-------------------------------------------------------------*/
Public : Prive : Fin Type

Le type AnalyseurSyntaxique modélise un analyseur syntaxique i.e. un automate reconnaissant un enchaînement d'éléments lexicaux à partir d'une grammaire de règles de syntaxe dérivant des non-terminaux.

Le type AnalyseurSyntaxique possède un constructeur explicite dont le paramètre Nom représente le nom de l'analyseur ainsi que deux fonctions de rappel optionnelles :

Deux tâches ne peuvent utiliser simultanément un analyseur syntaxique. Les accès sont sérialisés par l'usage d'une synchronisation.

Opérateurs

Le type AnalyseurSyntaxique possède les opérateurs standards suivants :

Exemple

Pour un exemple complet, merci de se référer à Analyse et interprétation du contenu d'un flux.

Variable
/******/


/****************************************************************/
Fonction ChercherIdentificateur(Identifiant : Entier, PremiereFois : Booleen) Retourner Nul Ou Caractere
/* Objet : Cherche un identifiant. */
/****************************************************************/
Debut
...
Fin Fonction

/****************************************************************/
Fonction CorrigerErreur(NomFichierSource : Caractere, NumeroLigne : Entier, NumeroColonne : Entier, Action : ActionCorrection, Taille : Entier, Libelle : Caractere) Retourner ActionEtapeReponse
/* Objet : Corrige une erreur. */
/****************************************************************/
Debut
...
Fin Fonction

Principal
/*******/
Debut
...
MonAnalyseurSyntaxiqueA=AnalyseurSyntaxique("MonAnalyseurSyntaxique", ChercherIdentificateur, CorrigerErreur);
...
Si MonAnalyseurSyntaxiqueA==MonAnalyseurSyntaxiqueB Alors
/* Egalité entre deux analyseurs syntaxiques. */ Fin Si
Si MonAnalyseurSyntaxiqueA!=MonAnalyseurSyntaxiqueB Alors
/* Inégalité entre deux analyseurs syntaxiques. */ Fin Si

Voir aussi

NonTerminalSyntaxique pour connaître la définition d'un non-terminal syntaxique. RegleSyntaxique pour connaître la définition d'une règle syntaxique.

Traduction

---------