UpsPrs.AnalyseurSyntaxique.Analyser

Fonction Optimiser(NulAbsorbant) Analyser(NonTerminalRacine : Nul Ou NonTerminalSyntaxique, ContinuerSiErreurSyntaxe : Booleen,

Description

La méthode Analyser permet de lancer l'analyse syntaxique à partir du non-terminal donné par le paramètre NonTerminalRacine. Le résultat est Vrai si aucune erreur lexicale, de syntaxique ou de sémantique n'est rencontrée.

Si le paramètre ContinuerSiErreurSyntaxe a pour valeur Vrai alors l'analyse syntaxique continue suite à la correction d'une erreur syntaxe décidable i.e une erreur qui peut être corrigée à la volée.

La signification des paramètres de EnvoyerErreur sont les suivants :

Si le paramètre ArreterAnalyseAvantLaFin a pour valeur Vrai alors l'analyse syntaxique peut s'arrêter avant l'atteinte de la fin du fichier source.

La séquence d'usage des méthodes est la suivante :

Si cette séquence n'est pas respectée, alors l'exception est ActionSyntaxiqueImpossible est envoyée.

Exemple

/****************************************************************/
Procedure EnvoyerErreur(MessageErreur : Caractere, NomFichierSource : Caractere, NumeroLigne : Entier, NumeroColonne : Entier)
/* Objet : Envoie une erreir. */
/****************************************************************/
Debut
...
Fin Procedure

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

Debut
...
MonAnalyseurLexical.Analyser(IFlux(F), F.NomFlux, PositionLibre, EnvoyerErreur);
...
MonAnalyseurSyntaxique.Analyser(MonAnalyseurLexical);
...
?=MonAnalyseurSyntaxique.Analyser(MonNonTerminal, Faux, EnvoyerErreur);
...
MonAnalyseurLexical.TerminerAnalyse();
...
MonAnalyseurSyntaxique.TerminerAnalyse();
...
Fin Principal

Voir aussi

DebuterAnalyse pour débuter l'analyse syntaxique. TerminerAnalyse pour terminer l'analyse syntaxique.
NbErreursDeSyntaxe pour connaître le nombre d'erreurs rencontrées.

Traduction

---------