AnalyseurLexical
NomDUnAnalyseurLexical OptionsAnalyseurLexicalFin AnalyseurLexical
(
ListeOptionsAnalyseurLexical )
ListeOptionsAnalyseurLexical :
,
OptionLexicaleConserverInclusion
AppelConserverInclusionConserverPragma
AppelConserverPragmaIgnorerCommandesPreprocesseur
IgnorerMajuscules
LireCommentaireIdentifiant
AppelLireCommentaireIdentifiantReconnaitreChaineApostrophes
ReconnaitreChaineChevrons
ReconnaitreChaineGuillemets
ReconnaitreCommentaireBloc
ReconnaitreCommentaireLigne
ReconnaitreEntier
ReconnaitreIdentificateur
ReconnaitreReel
ElementLexical (
NomElementLexical ,
IdentifiantLexical SuiteElementLexical ) ;
Separateur (
Separateurs SuiteSeparateur ) ;
, PositionDebutLigne
, PositionLibre
, PositionFinLigne
ConserverSeparateur
AnalyseurSyntaxique
NomDUnAnalyseurSyntaxique OptionsAnalyseurSyntaxiqueFin AnalyseurSyntaxique
(
ListeOptionsAnalyseurSyntaxique )
,
OptionAnalyseurSyntaxiqueChercherIdentificateur
AppelChercherIdentificateurCorrigerErreur
AppelCorrigerErreurListeNonTerminauxSyntaxiques :
NonTerminalSyntaxique
NomDUnNonTerminalSyntaxique SuiteNonTerminalSyntaxiqueRecursif ;
Fin NonTerminalSyntaxique
OptionsNonTerminalSyntaxique :
(
ListeOptionsNonTerminalSyntaxique )
ListeOptionsNonTerminalSyntaxique :
,
OptionNonTerminalSyntaxiqueEstOptionnel
SuiteEstOptionnelEstParametre
RegleSyntaxique
NomDeLaRegleSyntaxique OptionsRegleSyntaxique;
Fin RegleSyntaxique
(
ListeOptionsRegleSyntaxique )
,
OptionRegleSyntaxiquePriorite
PrioriteReprise
AppelReprise,
EtapeEtape :
(
ListeOptionsEtape )
,
OptionEtapeActionEtape
AppelActionEtapeActionParametrageEtape
AppelActionParametrageEtapeAnalyseurLexical
AnalyseurSyntaxique
NonTerminalSyntaxique
RegleSyntaxique
Constante
/*******/
ElementVariable=70000;
AnalyseurLexical MonAnalyseurLexical(ReconnaitreChaineGuillemets, ReconnaitreEntier, ReconnaitreReel, ReconnaitreIdentificateur,
IgnorerCommandesPreprocesseur, LireCommentaireIdentifiant MonLireCommentaireIdentifiant)
/**************************************************************************************************/
Separateur(" \t\r\n");
ElementLexical("A", ElementVariable);
ElementLexical("B", ElementVariable);
ElementLexical("C", ElementVariable);
Fin AnalyseurLexical
AnalyseurSyntaxique MonAnalyseurSyntaxique
/****************************************/
NonTerminalSyntaxique NonTerminalExpression Recursif;
NonTerminalSyntaxique NonTerminalOperateurBinaire Recursif;
NonTerminalSyntaxique NonTerminalOperateurUnaire Recursif;
NonTerminalSyntaxique NonTerminalExpression
RegleSyntaxique
ElementChaineGuillemets(ActionEtape ActionExpressionConstanteCaractere);
Fin RegleSyntaxique
RegleSyntaxique
ElementEntier(ActionEtape ActionExpressionConstanteEntier);
Fin RegleSyntaxique
RegleSyntaxique
ElementReel(ActionEtape ActionExpressionConstanteReel);
Fin RegleSyntaxique
RegleSyntaxique
ElementVariable(ActionEtape ActionExpressionVariable);
Fin RegleSyntaxique
RegleSyntaxique
NonTerminalExpression NonTerminalOperateurBinaire NonTerminalExpression(ActionEtape ActionExpressionBinaire);
Fin RegleSyntaxique
RegleSyntaxique
NonTerminalOperateurUnaire NonTerminalExpression(ActionEtape ActionExpressionUnaire);
Fin RegleSyntaxique
Fin NonTerminalSyntaxique
NonTerminalSyntaxique NonTerminalExpressionPrincipale
RegleSyntaxique
NonTerminalExpression ";"(ActionEtape ActionExpressionPrincipale);
Fin RegleSyntaxique
Fin NonTerminalSyntaxique
NonTerminalSyntaxique NonTerminalOperateurBinaire
RegleSyntaxique(Priorite 8)
"+";
Fin RegleSyntaxique
RegleSyntaxique(Priorite 8)
"-";
Fin RegleSyntaxique
RegleSyntaxique(Priorite 10)
"*";
Fin RegleSyntaxique
RegleSyntaxique(Priorite 10)
"/";
Fin RegleSyntaxique
Fin NonTerminalSyntaxique
NonTerminalSyntaxique NonTerminalOperateurUnaire
RegleSyntaxique
"+";
Fin RegleSyntaxique
RegleSyntaxique
"-";
Fin RegleSyntaxique
Fin NonTerminalSyntaxique
Fin AnalyseurSyntaxique
Fonction MonLireCommentaireIdentifiant(Identifiant : Entier, Liaison : Booleen) Retourner Nul Ou Caractere
/********************************************************************************************************/
Debut
...
Fin Fonction
Fonction ActionExpressionConstanteCaractere(ValeurLexicale : Nul Ou Objet, ? : Nul Ou Objet, ? : Entier, ? : Entier) Retourner ActionEtapeReponse
/***********************************************************************************************************************************************/
Debut
...
Fin Fonction
Fonction ActionExpressionConstanteEntier(ValeurLexicale : Nul Ou Objet, ? : Nul Ou Objet, ? : Entier, ? : Entier) Retourner ActionEtapeReponse
/********************************************************************************************************************************************/
Debut
...
Fin Fonction
Fonction ActionExpressionConstanteReel(ValeurLexicale : Nul Ou Objet, ? : Nul Ou Objet, ? : Entier, ? : Entier) Retourner ActionEtapeReponse
/******************************************************************************************************************************************/
Debut
...
Fin Fonction
Fonction ActionExpressionVariable(ValeurLexicale : Nul Ou Objet, ? : Nul Ou Objet, NumeroLigne : Entier, NumeroColonne : Entier) Retourner ActionEtapeReponse
/***********************************************************************************************************************************************************/
Debut
...
Fin Fonction
Fonction ActionExpressionPrincipale(? : Nul Ou Objet, ? : Nul Ou Objet, ? : Entier, ? : Entier) Retourner ActionEtapeReponse
/**************************************************************************************************************************/
Debut
...
Fin Fonction
Fonction ActionExpressionBinaire(? : Nul Ou Objet, Valeur : Nul Ou Objet, NumeroLigne : Entier, NumeroColonne : Entier) Retourner ActionEtapeReponse
/**************************************************************************************************************************************************/
Debut
...
Fin Fonction
Fonction ActionExpressionUnaire(? : Nul Ou Objet, Valeur : Nul Ou Objet, NumeroLigne : Entier, NumeroColonne : Entier) Retourner ActionEtapeReponse
/*************************************************************************************************************************************************/
Debut
...
Fin Fonction