Main.cpp:5:11: error: request for member ‘anaSynt’ in ‘compilo’, which is of non
Résolu/Fermé
emmesse_0699
Messages postés
6
Date d'inscription
mardi 7 avril 2020
Statut
Membre
Dernière intervention
7 mai 2021
-
7 mai 2021 à 03:27
Utilisateur anonyme - 15 mai 2021 à 20:12
Utilisateur anonyme - 15 mai 2021 à 20:12
Bonjour,
je ne comprends pas ce message d'erreur
voici main.cpp:
syntaxique.hpp:
et syntaxique.cpp:
<code>#include <vector>
#include <iostream>
#include <map>
#include "syntaxique.hpp"
#include "symboles.hpp"
syntaxique::syntaxique(char *nomFichier):pe(nomFichier){
pile.push_back(sdolar);
pile.push_back(sprogramme);
creerM();
}
void syntaxique::anaSynt(){
a=pe.anaLex();
for(X=pile.back();X!=sdolar;X=pile.back()){
if(Xvauta()){
pile.pop_back();
a=pe.anaLex();
}
else if(XestTerminal()){
std::cerr<<"ligne "<<pe.getLigne()<<" : "<<stringSymbole(X)
<<" inatendu"<<std::endl;
a=pe.anaLex();
pile.pop_back();
}
else if(M[X][a.getLex()][0]==serr){
std::cerr<<"erreur err à la ligne "<<pe.getLigne()<<std::endl;
a=pe.anaLex();
}
else if(M[X][a.getLex()][0]==ssynchro){
std::cerr<<"erreur synchro à la ligne "<<pe.getLigne()<<std::endl;
pile.pop_back();
}
else{
emettre();
pile.pop_back();
for(int i=M[X][a.getLex()].size()-1;i>=0;i--)
pile.push_back(M[X][a.getLex()][i]);
}
}
}
void syntaxique::creerM(){
for(int i=0;i<nbNonTerms;i++)
for(int j=0;j<nbTerms;j++)
M[i][j].push_back(serr);
M[programme][dolar]={ssynchro};
M[resteProg][dolar]={ssynchro};
M[declareGlobales][ptvirg]={ssynchro};
M[definitionclasse][ptvirg]={ssynchro};
M[typeClasse][id]={ssynchro};
M[typeClasse][fonct]={ssynchro};
M[heritage][accOuv]={ssynchro};
M[listeId][accOuv]={ssynchro};
M[listeId][ptvirg]={ssynchro};
M[listeId][accFerm]={ssynchro};
M[resteListeId][accOuv]={ssynchro};
M[resteListeId][ptvirg]={ssynchro};
M[resteListeId][accFerm]={ssynchro};
M[constructeur][ptvirg]={ssynchro};
M[destructeur][ptvirg]={ssynchro};
M[listeArgumentsopt][debut]={ssynchro};
M[listemembres][accFerm]={ssynchro};
M[resteListeMembre][accFerm]={ssynchro};
M[declareObj][ptvirg]={ssynchro};
M[declareObj][accFerm]={ssynchro};
M[typeVar][id]={ssynchro};
M[typeSimple][id]={ssynchro};
M[toutType][id]={ssynchro};
M[toutType][fonct]={ssynchro};
M[listeVar][ptvirg]={ssynchro};
M[valeur][ptvirg]={ssynchro};
M[resteListeVar][ptvirg]={ssynchro};
M[listeValeursDroites][accFerm]={ssynchro};
M[listeValeursDroites][deuxpts]={ssynchro};
M[listeValeursDroites][pf]={ssynchro};
M[resteListeValeursDroites][accFerm]={ssynchro};
M[resteListeValeursDroites][deuxpts]={ssynchro};
M[resteListeValeursDroites][pf]={ssynchro};
M[typeConst][id]={ssynchro};
M[listeConst][ptvirg]={ssynchro};
M[listeConst][accFerm]={ssynchro};
M[resteListeConst][ptvirg]={ssynchro};
M[resteListeConst][accFerm]={ssynchro};
M[typeTableau][id]={ssynchro};
M[listeIndices][ent]={ssynchro};
M[listeIndices][dec]={ssynchro};
M[listeIndices][car]={ssynchro};
M[listeIndices][motclebool]={ssynchro};
M[listeIndices][motcleEnum]={ssynchro};
M[listeIndices][arobase]={ssynchro};
M[listeIndices][classe]={ssynchro};
M[listeIndices][point]={ssynchro};
M[listeIndices][chapeau]={ssynchro};
M[listeIndices][etoile]={ssynchro};
M[listeIndices][slash]={ssynchro};
M[listeIndices][plus]={ssynchro};
M[listeIndices][moins]={ssynchro};
M[listeIndices][oprel]={ssynchro};
M[listeIndices][et]={ssynchro};
M[listeIndices][ou]={ssynchro};
M[listeIndices][ptvirg]={ssynchro};
M[listeIndices][deuxpts]={ssynchro};
M[listeIndices][accFerm]={ssynchro};
M[listeIndices][pf]={ssynchro};
M[listeIndices][cf]={ssynchro};
M[listeIndices][fin]={ssynchro};
M[listeIndices][sinonsi]={ssynchro};
M[listeIndices][sinon]={ssynchro};
M[listeIndices][tanque]={ssynchro};
M[listeIndices][refaire]={ssynchro};
M[listeIndices][fait]={ssynchro};
M[listeIndices][fsi]={ssynchro};
M[listeIndices][alors]={ssynchro};
M[listeIndices][affect]={ssynchro};
M[listeIndices][appel]={ssynchro};
M[listeIndices][si]={ssynchro};
M[listeIndices][faire]={ssynchro};
M[listeIndices][pour]={ssynchro};
M[listeIndices][jusque]={ssynchro};
M[listeIndices][pas]={ssynchro};
M[listeIndices][deuxptsEgal]={ssynchro};
M[listeIndices][depuis]={ssynchro};
M[resteListeIndices][ent]={ssynchro};
M[resteListeIndices][dec]={ssynchro};
M[resteListeIndices][car]={ssynchro};
M[resteListeIndices][motclebool]={ssynchro};
M[resteListeIndices][motcleEnum]={ssynchro};
M[resteListeIndices][arobase]={ssynchro};
M[resteListeIndices][classe]={ssynchro};
M[resteListeIndices][point]={ssynchro};
M[resteListeIndices][chapeau]={ssynchro};
M[resteListeIndices][etoile]={ssynchro};
M[resteListeIndices][slash]={ssynchro};
M[resteListeIndices][plus]={ssynchro};
M[resteListeIndices][moins]={ssynchro};
M[resteListeIndices][oprel]={ssynchro};
M[resteListeIndices][et]={ssynchro};
M[resteListeIndices][ou]={ssynchro};
M[resteListeIndices][ptvirg]={ssynchro};
M[resteListeIndices][deuxpts]={ssynchro};
M[resteListeIndices][accFerm]={ssynchro};
M[resteListeIndices][pf]={ssynchro};
M[resteListeIndices][cf]={ssynchro};
M[resteListeIndices][fin]={ssynchro};
M[resteListeIndices][sinonsi]={ssynchro};
M[resteListeIndices][sinon]={ssynchro};
M[resteListeIndices][tanque]={ssynchro};
M[resteListeIndices][refaire]={ssynchro};
M[resteListeIndices][fait]={ssynchro};
M[resteListeIndices][fsi]={ssynchro};
M[resteListeIndices][alors]={ssynchro};
M[resteListeIndices][affect]={ssynchro};
M[resteListeIndices][appel]={ssynchro};
M[resteListeIndices][si]={ssynchro};
M[resteListeIndices][faire]={ssynchro};
M[resteListeIndices][pour]={ssynchro};
M[resteListeIndices][jusque]={ssynchro};
M[resteListeIndices][pas]={ssynchro};
M[resteListeIndices][deuxptsEgal]={ssynchro};
M[resteListeIndices][depuis]={ssynchro};
M[defintionStruct][ptvirg]={ssynchro};
M[defTab][accFerm]={ssynchro};
M[defTab][deuxpts]={ssynchro};
M[listeDefTab][accFerm]={ssynchro};
M[resteListeDefTab][accFerm]={ssynchro};
M[nomproc][ptvirg]={ssynchro};
M[nomproc][accFerm]={ssynchro};
M[argument][deuxpts]={ssynchro};
M[argument][pf]={ssynchro};
M[argumentTab][id]={ssynchro};
M[listeArguments][pf]={ssynchro};
M[resteListeArguments][pf]={ssynchro};
M[nomFonction][ptvirg]={ssynchro};
M[nomFonction][accFerm]={ssynchro};
M[defproc][ptvirg]={ssynchro};
M[deffonct][ptvirg]={ssynchro};
M[declaration][ptvirg]={ssynchro};
M[paramsConstructeur][accOuv]={ssynchro};
M[paramsConstructeur][ptvirg]={ssynchro};
M[typeObj][id]={ssynchro};
M[surchargeOperateur][ptvirg]={ssynchro};
M[op][po]={ssynchro};
M[unOuDeuxArguments][pf]={ssynchro};
M[resteUnOuDeuxArguments][pf]={ssynchro};
M[declareMethode][ptvirg]={ssynchro};
M[methode][ptvirg]={ssynchro};
M[definitionEnum][ptvirg]={ssynchro};
M[typeEnum][id]={ssynchro};
M[valeurDroite][ptvirg]={ssynchro};
M[valeurDroite][deuxpts]={ssynchro};
M[valeurDroite][accFerm]={ssynchro};
M[valeurDroite][pf]={ssynchro};
M[valeurDroite][cf]={ssynchro};
M[valeurDroite][fin]={ssynchro};
M[valeurDroite][sinonsi]={ssynchro};
M[valeurDroite][sinon]={ssynchro};
M[valeurDroite][tanque]={ssynchro};
M[valeurDroite][refaire]={ssynchro};
M[valeurDroite][fait]={ssynchro};
M[valeurDroite][fsi]={ssynchro};
M[valeurDroite][alors]={ssynchro};
M[valeurDroite][affect]={ssynchro};
M[valeurDroite][appel]={ssynchro};
M[valeurDroite][si]={ssynchro};
M[valeurDroite][faire]={ssynchro};
M[valeurDroite][pour]={ssynchro};
M[resteValeurDroite][ptvirg]={ssynchro};
M[resteValeurDroite][deuxpts]={ssynchro};
M[resteValeurDroite][accFerm]={ssynchro};
M[resteValeurDroite][pf]={ssynchro};
M[resteValeurDroite][cf]={ssynchro};
M[resteValeurDroite][fin]={ssynchro};
M[resteValeurDroite][sinonsi]={ssynchro};
M[resteValeurDroite][sinon]={ssynchro};
M[resteValeurDroite][tanque]={ssynchro};
M[resteValeurDroite][refaire]={ssynchro};
M[resteValeurDroite][fait]={ssynchro};
M[resteValeurDroite][fsi]={ssynchro};
M[resteValeurDroite][alors]={ssynchro};
M[resteValeurDroite][affect]={ssynchro};
M[resteValeurDroite][appel]={ssynchro};
M[resteValeurDroite][si]={ssynchro};
M[resteValeurDroite][faire]={ssynchro};
M[resteValeurDroite][pour]={ssynchro};
M[termeBool][ou]={ssynchro};
M[termeBool][ptvirg]={ssynchro};
M[termeBool][deuxpts]={ssynchro};
M[termeBool][accFerm]={ssynchro};
M[termeBool][pf]={ssynchro};
M[termeBool][cf]={ssynchro};
M[termeBool][fin]={ssynchro};
M[termeBool][sinonsi]={ssynchro};
M[termeBool][sinon]={ssynchro};
M[termeBool][tanque]={ssynchro};
M[termeBool][refaire]={ssynchro};
M[termeBool][fait]={ssynchro};
M[termeBool][fsi]={ssynchro};
M[termeBool][alors]={ssynchro};
M[termeBool][affect]={ssynchro};
M[termeBool][appel]={ssynchro};
M[termeBool][si]={ssynchro};
M[termeBool][faire]={ssynchro};
M[termeBool][pour]={ssynchro};
M[resteTermeBool][ou]={ssynchro};
M[resteTermeBool][ptvirg]={ssynchro};
M[resteTermeBool][deuxpts]={ssynchro};
M[resteTermeBool][accFerm]={ssynchro};
M[resteTermeBool][pf]={ssynchro};
M[resteTermeBool][cf]={ssynchro};
M[resteTermeBool][fin]={ssynchro};
M[resteTermeBool][sinonsi]={ssynchro};
M[resteTermeBool][sinon]={ssynchro};
M[resteTermeBool][tanque]={ssynchro};
M[resteTermeBool][refaire]={ssynchro};
M[resteTermeBool][fait]={ssynchro};
M[resteTermeBool][fsi]={ssynchro};
M[resteTermeBool][alors]={ssynchro};
M[resteTermeBool][affect]={ssynchro};
M[resteTermeBool][appel]={ssynchro};
M[resteTermeBool][si]={ssynchro};
M[resteTermeBool][faire]={ssynchro};
M[resteTermeBool][pour]={ssynchro};
M[facteurBool][et]={ssynchro};
M[facteurBool][ou]={ssynchro};
M[facteurBool][ptvirg]={ssynchro};
M[facteurBool][deuxpts]={ssynchro};
M[facteurBool][accFerm]={ssynchro};
M[facteurBool][pf]={ssynchro};
M[facteurBool][cf]={ssynchro};
M[facteurBool][fin]={ssynchro};
M[facteurBool][sinonsi]={ssynchro};
M[facteurBool][sinon]={ssynchro};
M[facteurBool][tanque]={ssynchro};
M[facteurBool][refaire]={ssynchro};
M[facteurBool][fait]={ssynchro};
M[facteurBool][fsi]={ssynchro};
M[facteurBool][alors]={ssynchro};
M[facteurBool][affect]={ssynchro};
M[facteurBool][appel]={ssynchro};
M[facteurBool][si]={ssynchro};
M[facteurBool][faire]={ssynchro};
M[facteurBool][pour]={ssynchro};
M[relation][et]={ssynchro};
M[relation][ou]={ssynchro};
M[relation][ptvirg]={ssynchro};
M[relation][deuxpts]={ssynchro};
M[relation][accFerm]={ssynchro};
M[relation][pf]={ssynchro};
M[relation][cf]={ssynchro};
M[relation][fin]={ssynchro};
M[relation][sinonsi]={ssynchro};
M[relation][sinon]={ssynchro};
M[relation][tanque]={ssynchro};
M[relation][refaire]={ssynchro};
M[relation][fait]={ssynchro};
M[relation][fsi]={ssynchro};
M[relation][alors]={ssynchro};
M[relation][affect]={ssynchro};
M[relation][appel]={ssynchro};
M[relation][si]={ssynchro};
M[relation][faire]={ssynchro};
M[relation][pour]={ssynchro};
M[expression][oprel]={ssynchro};
M[expression][et]={ssynchro};
M[expression][ou]={ssynchro};
M[expression][ptvirg]={ssynchro};
M[expression][deuxpts]={ssynchro};
M[expression][accFerm]={ssynchro};
M[expression][pf]={ssynchro};
M[expression][cf]={ssynchro};
M[expression][fin]={ssynchro};
M[expression][sinonsi]={ssynchro};
M[expression][sinon]={ssynchro};
M[expression][tanque]={ssynchro};
M[expression][refaire]={ssynchro};
M[expression][fait]={ssynchro};
M[expression][fsi]={ssynchro};
M[expression][alors]={ssynchro};
M[expression][affect]={ssynchro};
M[expression][appel]={ssynchro};
M[expression][si]={ssynchro};
M[expression][faire]={ssynchro};
M[expression][pour]={ssynchro};
M[expression][jusque]={ssynchro};
M[expression][pas]={ssynchro};
M[resteTerme][oprel]={ssynchro};
M[resteTerme][et]={ssynchro};
M[resteTerme][ou]={ssynchro};
M[resteTerme][ptvirg]={ssynchro};
M[resteTerme][deuxpts]={ssynchro};
M[resteTerme][accFerm]={ssynchro};
M[resteTerme][pf]={ssynchro};
M[resteTerme][cf]={ssynchro};
M[resteTerme][fin]={ssynchro};
M[resteTerme][sinonsi]={ssynchro};
M[resteTerme][sinon]={ssynchro};
M[resteTerme][tanque]={ssynchro};
M[resteTerme][refaire]={ssynchro};
M[resteTerme][fait]={ssynchro};
M[resteTerme][fsi]={ssynchro};
M[resteTerme][alors]={ssynchro};
M[resteTerme][affect]={ssynchro};
M[resteTerme][appel]={ssynchro};
M[resteTerme][si]={ssynchro};
M[resteTerme][faire]={ssynchro};
M[resteTerme][pour]={ssynchro};
M[resteTerme][jusque]={ssynchro};
M[resteTerme][pas]={ssynchro};
M[terme][plus]={ssynchro};
M[terme][moins]={ssynchro};
M[terme][oprel]={ssynchro};
M[terme][et]={ssynchro};
M[terme][ou]={ssynchro};
M[terme][ptvirg]={ssynchro};
M[terme][deuxpts]={ssynchro};
M[terme][accFerm]={ssynchro};
M[terme][pf]={ssynchro};
M[terme][cf]={ssynchro};
M[terme][fin]={ssynchro};
M[terme][sinonsi]={ssynchro};
M[terme][sinon]={ssynchro};
M[terme][tanque]={ssynchro};
M[terme][refaire]={ssynchro};
M[terme][fait]={ssynchro};
M[terme][fsi]={ssynchro};
M[terme][alors]={ssynchro};
M[terme][affect]={ssynchro};
M[terme][appel]={ssynchro};
M[terme][si]={ssynchro};
M[terme][faire]={ssynchro};
M[terme][pour]={ssynchro};
M[terme][jusque]={ssynchro};
M[terme][pas]={ssynchro};
M[resteFacteur][plus]={ssynchro};
M[resteFacteur][moins]={ssynchro};
M[resteFacteur][oprel]={ssynchro};
M[resteFacteur][et]={ssynchro};
M[resteFacteur][ou]={ssynchro};
M[resteFacteur][ptvirg]={ssynchro};
M[resteFacteur][deuxpts]={ssynchro};
M[resteFacteur][accFerm]={ssynchro};
M[resteFacteur][pf]={ssynchro};
M[resteFacteur][cf]={ssynchro};
M[resteFacteur][fin]={ssynchro};
M[resteFacteur][sinonsi]={ssynchro};
M[resteFacteur][sinon]={ssynchro};
M[resteFacteur][tanque]={ssynchro};
M[resteFacteur][refaire]={ssynchro};
M[resteFacteur][fait]={ssynchro};
M[resteFacteur][fsi]={ssynchro};
M[resteFacteur][alors]={ssynchro};
M[resteFacteur][affect]={ssynchro};
M[resteFacteur][appel]={ssynchro};
M[resteFacteur][si]={ssynchro};
M[resteFacteur][faire]={ssynchro};
M[resteFacteur][pour]={ssynchro};
M[resteFacteur][jusque]={ssynchro};
M[resteFacteur][pas]={ssynchro};
M[facteur][etoile]={ssynchro};
M[facteur][slash]={ssynchro};
M[facteur][plus]={ssynchro};
M[facteur][moins]={ssynchro};
M[facteur][oprel]={ssynchro};
M[facteur][et]={ssynchro};
M[facteur][ou]={ssynchro};
M[facteur][ptvirg]={ssynchro};
M[facteur][deuxpts]={ssynchro};
M[facteur][accFerm]={ssynchro};
M[facteur][pf]={ssynchro};
M[facteur][cf]={ssynchro};
M[facteur][fin]={ssynchro};
M[facteur][sinonsi]={ssynchro};
M[facteur][sinon]={ssynchro};
M[facteur][tanque]={ssynchro};
M[facteur][refaire]={ssynchro};
M[facteur][fait]={ssynchro};
M[facteur][fsi]={ssynchro};
M[facteur][alors]={ssynchro};
M[facteur][affect]={ssynchro};
M[facteur][appel]={ssynchro};
M[facteur][si]={ssynchro};
M[facteur][faire]={ssynchro};
M[facteur][pour]={ssynchro};
M[facteur][jusque]={ssynchro};
M[facteur][pas]={ssynchro};
M[P][etoile]={ssynchro};
M[P][slash]={ssynchro};
M[P][plus]={ssynchro};
M[P][moins]={ssynchro};
M[P][oprel]={ssynchro};
M[P][et]={ssynchro};
M[P][ou]={ssynchro};
M[P][ptvirg]={ssynchro};
M[P][deuxpts]={ssynchro};
M[P][accFerm]={ssynchro};
M[P][pf]={ssynchro};
M[P][cf]={ssynchro};
M[P][fin]={ssynchro};
M[P][sinonsi]={ssynchro};
M[P][sinon]={ssynchro};
M[P][tanque]={ssynchro};
M[P][refaire]={ssynchro};
M[P][fait]={ssynchro};
M[P][fsi]={ssynchro};
M[P][alors]={ssynchro};
M[P][affect]={ssynchro};
M[P][appel]={ssynchro};
M[P][si]={ssynchro};
M[P][faire]={ssynchro};
M[P][pour]={ssynchro};
M[P][jusque]={ssynchro};
M[P][pas]={ssynchro};
M[groupeId][chapeau]={ssynchro};
M[groupeId][etoile]={ssynchro};
M[groupeId][slash]={ssynchro};
M[groupeId][plus]={ssynchro};
M[groupeId][moins]={ssynchro};
M[groupeId][oprel]={ssynchro};
M[groupeId][et]={ssynchro};
M[groupeId][ou]={ssynchro};
M[groupeId][ptvirg]={ssynchro};
M[groupeId][deuxpts]={ssynchro};
M[groupeId][accFerm]={ssynchro};
M[groupeId][pf]={ssynchro};
M[groupeId][cf]={ssynchro};
M[groupeId][fin]={ssynchro};
M[groupeId][sinonsi]={ssynchro};
M[groupeId][sinon]={ssynchro};
M[groupeId][tanque]={ssynchro};
M[groupeId][refaire]={ssynchro};
M[groupeId][fait]={ssynchro};
M[groupeId][fsi]={ssynchro};
M[groupeId][alors]={ssynchro};
M[groupeId][affect]={ssynchro};
M[groupeId][appel]={ssynchro};
M[groupeId][si]={ssynchro};
M[groupeId][faire]={ssynchro};
M[groupeId][pour]={ssynchro};
M[groupeId][jusque]={ssynchro};
M[groupeId][pas]={ssynchro};
M[apresId][chapeau]={ssynchro};
M[apresId][etoile]={ssynchro};
M[apresId][slash]={ssynchro};
M[apresId][plus]={ssynchro};
M[apresId][moins]={ssynchro};
M[apresId][oprel]={ssynchro};
M[apresId][et]={ssynchro};
M[apresId][ou]={ssynchro};
M[apresId][ptvirg]={ssynchro};
M[apresId][deuxpts]={ssynchro};
M[apresId][accFerm]={ssynchro};
M[apresId][pf]={ssynchro};
M[apresId][cf]={ssynchro};
M[apresId][fin]={ssynchro};
M[apresId][sinonsi]={ssynchro};
M[apresId][sinon]={ssynchro};
M[apresId][tanque]={ssynchro};
M[apresId][refaire]={ssynchro};
M[apresId][fait]={ssynchro};
M[apresId][fsi]={ssynchro};
M[apresId][alors]={ssynchro};
M[apresId][affect]={ssynchro};
M[apresId][appel]={ssynchro};
M[apresId][si]={ssynchro};
M[apresId][faire]={ssynchro};
M[apresId][pour]={ssynchro};
M[apresId][jusque]={ssynchro};
M[apresId][pas]={ssynchro};
M[apresIndices][chapeau]={ssynchro};
M[apresIndices][etoile]={ssynchro};
M[apresIndices][slash]={ssynchro};
M[apresIndices][plus]={ssynchro};
M[apresIndices][moins]={ssynchro};
M[apresIndices][oprel]={ssynchro};
M[apresIndices][et]={ssynchro};
M[apresIndices][ou]={ssynchro};
M[apresIndices][ptvirg]={ssynchro};
M[apresIndices][deuxpts]={ssynchro};
M[apresIndices][accFerm]={ssynchro};
M[apresIndices][pf]={ssynchro};
M[apresIndices][cf]={ssynchro};
M[apresIndices][fin]={ssynchro};
M[apresIndices][sinonsi]={ssynchro};
M[apresIndices][sinon]={ssynchro};
M[apresIndices][tanque]={ssynchro};
M[apresIndices][refaire]={ssynchro};
M[apresIndices][fait]={ssynchro};
M[apresIndices][fsi]={ssynchro};
M[apresIndices][alors]={ssynchro};
M[apresIndices][affect]={ssynchro};
M[apresIndices][appel]={ssynchro};
M[apresIndices][si]={ssynchro};
M[apresIndices][faire]={ssynchro};
M[apresIndices][pour]={ssynchro};
M[apresIndices][jusque]={ssynchro};
M[apresIndices][pas]={ssynchro};
M[apresParentheses][chapeau]={ssynchro};
M[apresParentheses][etoile]={ssynchro};
M[apresParentheses][slash]={ssynchro};
M[apresParentheses][plus]={ssynchro};
M[apresParentheses][moins]={ssynchro};
M[apresParentheses][oprel]={ssynchro};
M[apresParentheses][et]={ssynchro};
M[apresParentheses][ou]={ssynchro};
M[apresParentheses][ptvirg]={ssynchro};
M[apresParentheses][deuxpts]={ssynchro};
M[apresParentheses][accFerm]={ssynchro};
M[apresParentheses][pf]={ssynchro};
M[apresParentheses][cf]={ssynchro};
M[apresParentheses][fin]={ssynchro};
M[apresParentheses][sinonsi]={ssynchro};
M[apresParentheses][sinon]={ssynchro};
M[apresParentheses][tanque]={ssynchro};
M[apresParentheses][refaire]={ssynchro};
M[apresParentheses][fait]={ssynchro};
M[apresParentheses][fsi]={ssynchro};
M[apresParentheses][alors]={ssynchro};
M[apresParentheses][affect]={ssynchro};
M[apresParentheses][appel]={ssynchro};
M[apresParentheses][si]={ssynchro};
M[apresParentheses][faire]={ssynchro};
M[apresParentheses][pour]={ssynchro};
M[apresParentheses][jusque]={ssynchro};
M[apresParentheses][pas]={ssynchro};
M[apresArobase][chapeau]={ssynchro};
M[apresArobase][etoile]={ssynchro};
M[apresArobase][slash]={ssynchro};
M[apresArobase][plus]={ssynchro};
M[apresArobase][moins]={ssynchro};
M[apresArobase][oprel]={ssynchro};
M[apresArobase][et]={ssynchro};
M[apresArobase][ou]={ssynchro};
M[apresArobase][ptvirg]={ssynchro};
M[apresArobase][deuxpts]={ssynchro};
M[apresArobase][accFerm]={ssynchro};
M[apresArobase][pf]={ssynchro};
M[apresArobase][cf]={ssynchro};
M[apresArobase][fin]={ssynchro};
M[apresArobase][sinonsi]={ssynchro};
M[apresArobase][sinon]={ssynchro};
M[apresArobase][tanque]={ssynchro};
M[apresArobase][refaire]={ssynchro};
M[apresArobase][fait]={ssynchro};
M[apresArobase][fsi]={ssynchro};
M[apresArobase][alors]={ssynchro};
M[apresArobase][affect]={ssynchro};
M[apresArobase][appel]={ssynchro};
M[apresArobase][si]={ssynchro};
M[apresArobase][faire]={ssynchro};
M[apresArobase][pour]={ssynchro};
M[apresArobase][jusque]={ssynchro};
M[apresArobase][pas]={ssynchro};
M[corpsopt][fin]={ssynchro};
M[corps][fin]={ssynchro};
M[sequence][fin]={ssynchro};
M[sequence][sinonsi]={ssynchro};
M[sequence][sinon]={ssynchro};
M[sequence][tanque]={ssynchro};
M[sequence][refaire]={ssynchro};
M[sequence][fait]={ssynchro};
M[sequence][fsi]={ssynchro};
M[resteSequence][fin]={ssynchro};
M[resteSequence][sinonsi]={ssynchro};
M[resteSequence][sinon]={ssynchro};
M[resteSequence][tanque]={ssynchro};
M[resteSequence][refaire]={ssynchro};
M[resteSequence][fait]={ssynchro};
M[resteSequence][fsi]={ssynchro};
M[instr][ptvirg]={ssynchro};
M[instr][fin]={ssynchro};
M[instr][sinonsi]={ssynchro};
M[instr][sinon]={ssynchro};
M[instr][tanque]={ssynchro};
M[instr][refaire]={ssynchro};
M[instr][fait]={ssynchro};
M[instr][fsi]={ssynchro};
M[resteSi][fsi]={ssynchro};
M[listeValeursGauches][pf]={ssynchro};
M[resteListeValeurGauche][pf]={ssynchro};
M[valeurGauche][plus]={ssynchro};
M[valeurGauche][moins]={ssynchro};
M[valeurGauche][oprel]={ssynchro};
M[valeurGauche][et]={ssynchro};
M[valeurGauche][ou]={ssynchro};
M[valeurGauche][ptvirg]={ssynchro};
M[valeurGauche][deuxpts]={ssynchro};
M[valeurGauche][accFerm]={ssynchro};
M[valeurGauche][pf]={ssynchro};
M[valeurGauche][cf]={ssynchro};
M[valeurGauche][fin]={ssynchro};
M[valeurGauche][sinonsi]={ssynchro};
M[valeurGauche][sinon]={ssynchro};
M[valeurGauche][tanque]={ssynchro};
M[valeurGauche][refaire]={ssynchro};
M[valeurGauche][fait]={ssynchro};
M[valeurGauche][fsi]={ssynchro};
M[valeurGauche][alors]={ssynchro};
M[valeurGauche][affect]={ssynchro};
M[valeurGauche][appel]={ssynchro};
M[valeurGauche][si]={ssynchro};
M[valeurGauche][faire]={ssynchro};
M[valeurGauche][pour]={ssynchro};
M[valeurGauche][jusque]={ssynchro};
M[valeurGauche][pas]={ssynchro};
M[valeurGauche][deuxptsEgal]={ssynchro};
M[valeurGauche][depuis]={ssynchro};
M[apresIdGauche][plus]={ssynchro};
M[apresIdGauche][moins]={ssynchro};
M[apresIdGauche][oprel]={ssynchro};
M[apresIdGauche][et]={ssynchro};
M[apresIdGauche][ou]={ssynchro};
M[apresIdGauche][ptvirg]={ssynchro};
M[apresIdGauche][deuxpts]={ssynchro};
M[apresIdGauche][accFerm]={ssynchro};
M[apresIdGauche][pf]={ssynchro};
M[apresIdGauche][cf]={ssynchro};
M[apresIdGauche][fin]={ssynchro};
M[apresIdGauche][sinonsi]={ssynchro};
M[apresIdGauche][sinon]={ssynchro};
M[apresIdGauche][tanque]={ssynchro};
M[apresIdGauche][refaire]={ssynchro};
M[apresIdGauche][fait]={ssynchro};
M[apresIdGauche][fsi]={ssynchro};
M[apresIdGauche][alors]={ssynchro};
M[apresIdGauche][affect]={ssynchro};
M[apresIdGauche][appel]={ssynchro};
M[apresIdGauche][si]={ssynchro};
M[apresIdGauche][faire]={ssynchro};
M[apresIdGauche][pour]={ssynchro};
M[apresIdGauche][jusque]={ssynchro};
M[apresIdGauche][pas]={ssynchro};
M[apresIdGauche][deuxptsEgal]={ssynchro};
M[apresIdGauche][depuis]={ssynchro};
M[apresIndicesGauche][plus]={ssynchro};
M[apresIndicesGauche][moins]={ssynchro};
M[apresIndicesGauche][oprel]={ssynchro};
M[apresIndicesGauche][et]={ssynchro};
M[apresIndicesGauche][ou]={ssynchro};
M[apresIndicesGauche][ptvirg]={ssynchro};
M[apresIndicesGauche][deuxpts]={ssynchro};
M[apresIndicesGauche][accFerm]={ssynchro};
M[apresIndicesGauche][pf]={ssynchro};
M[apresIndicesGauche][cf]={ssynchro};
M[apresIndicesGauche][fin]={ssynchro};
M[apresIndicesGauche][sinonsi]={ssynchro};
M[apresIndicesGauche][sinon]={ssynchro};
M[apresIndicesGauche][tanque]={ssynchro};
M[apresIndicesGauche][refaire]={ssynchro};
M[apresIndicesGauche][fait]={ssynchro};
M[apresIndicesGauche][fsi]={ssynchro};
M[apresIndicesGauche][alors]={ssynchro};
M[apresIndicesGauche][affect]={ssynchro};
M[apresIndicesGauche][appel]={ssynchro};
M[apresIndicesGauche][si]={ssynchro};
M[apresIndicesGauche][faire]={ssynchro};
M[apresIndicesGauche][pour]={ssynchro};
M[apresIndicesGauche][jusque]={ssynchro};
M[apresIndicesGauche][pas]={ssynchro};
M[apresIndicesGauche][deuxptsEgal]={ssynchro};
M[apresIndicesGauche][depuis]={ssynchro};
M[apresParenthesesGauche][plus]={ssynchro};
M[apresParenthesesGauche][moins]={ssynchro};
M[apresParenthesesGauche][oprel]={ssynchro};
M[apresParenthesesGauche][et]={ssynchro};
M[apresParenthesesGauche][ou]={ssynchro};
M[apresParenthesesGauche][ptvirg]={ssynchro};
M[apresParenthesesGauche][deuxpts]={ssynchro};
M[apresParenthesesGauche][accFerm]={ssynchro};
M[apresParenthesesGauche][pf]={ssynchro};
M[apresParenthesesGauche][cf]={ssynchro};
M[apresParenthesesGauche][fin]={ssynchro};
M[apresParenthesesGauche][sinonsi]={ssynchro};
M[apresParenthesesGauche][sinon]={ssynchro};
M[apresParenthesesGauche][tanque]={ssynchro};
M[apresParenthesesGauche][refaire]={ssynchro};
M[apresParenthesesGauche][fait]={ssynchro};
M[apresParenthesesGauche][fsi]={ssynchro};
M[apresParenthesesGauche][alors]={ssynchro};
M[apresParenthesesGauche][affect]={ssynchro};
M[apresParenthesesGauche][appel]={ssynchro};
M[apresParenthesesGauche][si]={ssynchro};
M[apresParenthesesGauche][faire]={ssynchro};
M[apresParenthesesGauche][pour]={ssynchro};
M[apresParenthesesGauche][jusque]={ssynchro};
M[apresParenthesesGauche][pas]={ssynchro};
M[apresParenthesesGauche][deuxptsEgal]={ssynchro};
M[apresParenthesesGauche][depuis]={ssynchro};
M[apresArobaseGauche][plus]={ssynchro};
M[apresArobaseGauche][moins]={ssynchro};
M[apresArobaseGauche][oprel]={ssynchro};
M[apresArobaseGauche][et]={ssynchro};
M[apresArobaseGauche][ou]={ssynchro};
M[apresArobaseGauche][ptvirg]={ssynchro};
M[apresArobaseGauche][deuxpts]={ssynchro};
M[apresArobaseGauche][accFerm]={ssynchro};
M[apresArobaseGauche][pf]={ssynchro};
M[apresArobaseGauche][cf]={ssynchro};
M[apresArobaseGauche][fin]={ssynchro};
M[apresArobaseGauche][sinonsi]={ssynchro};
M[apresArobaseGauche][sinon]={ssynchro};
M[apresArobaseGauche][tanque]={ssynchro};
M[apresArobaseGauche][refaire]={ssynchro};
M[apresArobaseGauche][fait]={ssynchro};
M[apresArobaseGauche][fsi]={ssynchro};
M[apresArobaseGauche][alors]={ssynchro};
M[apresArobaseGauche][affect]={ssynchro};
M[apresArobaseGauche][appel]={ssynchro};
M[apresArobaseGauche][si]={ssynchro};
M[apresArobaseGauche][faire]={ssynchro};
M[apresArobaseGauche][pour]={ssynchro};
M[apresArobaseGauche][jusque]={ssynchro};
M[apresArobaseGauche][pas]={ssynchro};
M[apresArobaseGauche][deuxptsEgal]={ssynchro};
M[apresArobaseGauche][depuis]={ssynchro};
M[programme][prog]={sprog,sid,sresteProg};
M[resteProg][abstr]={sdeclareGlobales,sptvirg,
sresteProg};
M[resteProg][defclasse]={sdeclareGlobales,sptvirg,
sresteProg};
M[resteProg][constr]={sdeclareGlobales,sptvirg,
sresteProg};
M[resteProg][destr]={sdeclareGlobales,sptvirg,
sresteProg};
M[resteProg][proc]={sdeclareGlobales,sptvirg,
sresteProg};
M[resteProg][co]={sdeclareGlobales,sptvirg,
sresteProg};
M[resteProg][ent]={sdeclareGlobales,sptvirg,
sresteProg};
M[resteProg][dec]={sdeclareGlobales,sptvirg,
sresteProg};
M[resteProg][car]={sdeclareGlobales,sptvirg,
sresteProg};
M[resteProg][motclebool]={sdeclareGlobales,sptvirg,
sresteProg};
M[resteProg][motcleEnum]={sdeclareGlobales,sptvirg,
sresteProg};
M[resteProg][arobase]={sdeclareGlobales,sptvirg,
sresteProg};
M[resteProg][classe]={sdeclareGlobales,sptvirg,
sresteProg};
M[resteProg][var]={sdeclareGlobales,sptvirg,
sresteProg};
M[resteProg][motcleconst]={sdeclareGlobales,sptvirg,
sresteProg};
M[resteProg][tab]={sdeclareGlobales,sptvirg,
sresteProg};
M[resteProg][obj]={sdeclareGlobales,sptvirg,
sresteProg};
M[resteProg][operateur]={sdeclareGlobales,sptvirg,
sresteProg};
M[resteProg][meth]={sdeclareGlobales,sptvirg,
sresteProg};
M[resteProg][defEnum]={sdeclareGlobales,sptvirg,
sresteProg};
M[resteProg][debut]={sdebut,scorpsopt,
sfin};
M[declareGlobales][abstr]={sdefinitionclasse};
M[declareGlobales][defclasse]={sdefinitionclasse};
M[declareGlobales][constr]={sconstructeur};
M[declareGlobales][destr]={sdestructeur};
M[declareGlobales][proc]={sdefproc};
M[declareGlobales][co]={sdeffonct};
M[declareGlobales][ent]={sdeffonct};
M[declareGlobales][dec]={sdeffonct};
M[declareGlobales][car]={sdeffonct};
M[declareGlobales][motclebool]={sdeffonct};
M[declareGlobales][motcleEnum]={sdeffonct};
M[declareGlobales][arobase]={sdeffonct};
M[declareGlobales][classe]={sdeffonct};
M[declareGlobales][var]={sdeclaration};
M[declareGlobales][motcleconst]={sdeclaration};
M[declareGlobales][tab]={sdeclaration};
M[declareGlobales][obj]={sdeclaration};
M[declareGlobales][operateur]={ssurchargeOperateur};
M[declareGlobales][meth]={sdeclareMethode};
M[declareGlobales][defEnum]={sdefinitionEnum};
M[definitionclasse][abstr]={sabstr,sdefclasse,
sid,sheritage,saccOuv,slistemembres,
saccFerm};
M[definitionclasse][defclasse]={sdefclasse,sid,
sheritage,saccOuv,slistemembres,
saccFerm};
M[typeClasse][classe]={sclasse,sid};
M[heritage][herite]={sherite,slisteId};
M[heritage][accOuv]={sepsilon};
M[listeId][id]={sid,sresteListeId};
M[resteListeId][deuxPts]={sdeuxPts,sid,
sresteListeId};
M[resteListeId][accOuv]={sepsilon};
M[resteListeId][ptvirg]={sepsilon};
M[resteListeId][accFerm]={sepsilon};
M[constructeur][constr]={sconstr,sid,
slisteArgumentsopt,sdebut,scorpsopt,
sfin};
M[destructeur][destr]={sdestr,sid,sdebut,
scorpsopt,sfin};
M[listeArgumentsopt][po]={spo,slisteArguments,
spf};
M[listeArgumentsopt][debut]={sepsilon};
M[listemembres][var]={sdeclareObj,sresteListeMembre};
M[listemembres][motcleconst]={sdeclareObj,
sresteListeMembre};
M[listemembres][tab]={sdeclareObj,sresteListeMembre};
M[listemembres][classe]={sdeclareObj,sresteListeMembre};
M[listemembres][proc]={sdeclareObj,sresteListeMembre};
M[listemembres][co]={sdeclareObj,sresteListeMembre};
M[listemembres][ent]={sdeclareObj,sresteListeMembre};
M[listemembres][dec]={sdeclareObj,sresteListeMembre};
M[listemembres][car]={sdeclareObj,sresteListeMembre};
M[listemembres][motclebool]={sdeclareObj,
sresteListeMembre};
M[listemembres][motcleEnum]={sdeclareObj,
sresteListeMembre};
M[listemembres][arobase]={sdeclareObj,sresteListeMembre};
M[listemembres][accFerm]={sepsilon};
M[resteListeMembre][ptvirg]={sptvirg,sdeclareObj,
sresteListeMembre};
M[resteListeMembre][accFerm]={sepsilon};
M[declareObj][var]={stypeVar,slisteId};
M[declareObj][motcleconst]={stypeConst,slisteConst};
M[declareObj][tab]={stypeTableau,slisteId};
M[declareObj][classe]={stypeClasse,slisteId};
M[declareObj][classe]={snomFonction};
M[declareObj][proc]={snomproc};
M[declareObj][co]={snomFonction};
M[declareObj][ent]={snomFonction};
M[declareObj][dec]={snomFonction};
M[declareObj][car]={snomFonction};
M[declareObj][motclebool]={snomFonction};
M[declareObj][motcleEnum]={snomFonction};
M[declareObj][arobase]={snomFonction};
M[typeVar][var]={svar,stypeSimple};
M[typeSimple][ent]={sent};
M[typeSimple][dec]={sdec};
M[typeSimple][car]={scar};
M[typeSimple][motclebool]={smotclebool};
M[typeSimple][motcleEnum]={stypeEnum};
M[typeSimple][arobase]={sarobase,stoutType};
M[toutType][ent]={stypeSimple};
M[toutType][dec]={stypeSimple};
M[toutType][car]={stypeSimple};
M[toutType][motclebool]={stypeSimple};
M[toutType][motcleEnum]={stypeSimple};
M[toutType][arobase]={stypeSimple};
M[toutType][classe]={stypeClasse};
M[listeVar][id]={sid,svaleur,sresteListeVar};
M[valeur][deuxptsEgal]={sdeuxptsEgal,svaleurDroite};
M[valeur][ptvirg]={sepsilon};
M[resteListeVar][ptvirg]={sptvirg,sid,svaleur,
sresteListeVar};
M[resteListeVar][ptvirg]={sepsilon};
M[listeValeursDroites][non]={svaleurDroite,
sresteListeValeursDroites};
M[listeValeursDroites][valbool]={svaleurDroite,
sresteListeValeursDroites};
M[listeValeursDroites][caractere]={svaleurDroite,
sresteListeValeursDroites};
M[listeValeursDroites][adresse]={svaleurDroite,
sresteListeValeursDroites};
M[listeValeursDroites][arobase]={svaleurDroite,
sresteListeValeursDroites};
M[listeValeursDroites][litteral]={svaleurDroite,
sresteListeValeursDroites};
M[listeValeursDroites][moins]={svaleurDroite,
sresteListeValeursDroites};
M[listeValeursDroites][po]={svaleurDroite,
sresteListeValeursDroites};
M[listeValeursDroites][id]={svaleurDroite,
sresteListeValeursDroites};
M[listeValeursDroites][entier]={svaleurDroite,
sresteListeValeursDroites};
M[listeValeursDroites][decimal]={svaleurDroite,
sresteListeValeursDroites};
M[resteListeValeursDroites][deuxpts]={sdeuxpts,
svaleurDroite};
M[typeConst][motcleconst]={smotcleconst,stypeSimple};
M[listeConst][id]={sid,sdeuxptsEgal,
svaleurDroite,sresteListeConst};
M[resteListeConst][deuxpts]={sdeuxpts,sid,
sdeuxptsEgal,svaleurDroite,sresteListeConst};
M[resteListeConst][ptvirg]={sepsilon};
M[resteListeConst][accFerm]={sepsilon};
M[typeTableau][tab]={stab,slisteIndices,
stoutType};
M[listeIndices][co]={sco,svaleurDroite,scf,
sresteListeIndices};
M[resteListeIndices][co]={sco,svaleurDroite,scf,
sresteListeIndices};
M[resteListeIndices][ent]={sepsilon};
M[resteListeIndices][dec]={sepsilon};
M[resteListeIndices][car]={sepsilon};
M[resteListeIndices][motclebool]={sepsilon};
M[resteListeIndices][motcleEnum]={sepsilon};
M[resteListeIndices][arobase]={sepsilon};
M[resteListeIndices][classe]={sepsilon};
M[resteListeIndices][point]={sepsilon};
M[resteListeIndices][chapeau]={sepsilon};
M[resteListeIndices][etoile]={sepsilon};
M[resteListeIndices][slash]={sepsilon};
M[resteListeIndices][plus]={sepsilon};
M[resteListeIndices][moins]={sepsilon};
M[resteListeIndices][oprel]={sepsilon};
M[resteListeIndices][et]={sepsilon};
M[resteListeIndices][ou]={sepsilon};
M[resteListeIndices][ptvirg]={sepsilon};
M[resteListeIndices][deuxpts]={sepsilon};
M[resteListeIndices][accFerm]={sepsilon};
M[resteListeIndices][pf]={sepsilon};
M[resteListeIndices][cf]={sepsilon};
M[resteListeIndices][fin]={sepsilon};
M[resteListeIndices][sinonsi]={sepsilon};
M[resteListeIndices][sinon]={sepsilon};
M[resteListeIndices][tanque]={sepsilon};
M[resteListeIndices][refaire]={sepsilon};
M[resteListeIndices][fait]={sepsilon};
M[resteListeIndices][fsi]={sepsilon};
M[resteListeIndices][alors]={sepsilon};
M[resteListeIndices][affect]={sepsilon};
M[resteListeIndices][appel]={sepsilon};
M[resteListeIndices][si]={sepsilon};
M[resteListeIndices][faire]={sepsilon};
M[resteListeIndices][pour]={sepsilon};
M[resteListeIndices][jusque]={sepsilon};
M[resteListeIndices][pas]={sepsilon};
M[resteListeIndices][deuxptsEgal]={sepsilon};
M[resteListeIndices][depuis]={sepsilon};
M[defintionStruct][accOuv]={saccOuv,sdefTab,
saccFerm};
M[defintionStruct][ptvirg]={sepsilon};
M[defTab][non]={slisteValeursDroites};
M[defTab][valbool]={slisteValeursDroites};
M[defTab][caractere]={slisteValeursDroites};
M[defTab][adresse]={slisteValeursDroites};
M[defTab][arobase]={slisteValeursDroites};
M[defTab][litteral]={slisteValeursDroites};
M[defTab][moins]={slisteValeursDroites};
M[defTab][po]={slisteValeursDroites};
M[defTab][id]={slisteValeursDroites};
M[defTab][entier]={slisteValeursDroites};
M[defTab][decimal]={slisteValeursDroites};
M[defTab][accOuv]={saccOuv,slisteDefTab,
saccFerm};
M[listeDefTab][non]={sdefTab,sresteListeDefTab};
M[listeDefTab][valbool]={sdefTab,sresteListeDefTab};
M[listeDefTab][caractere]={sdefTab,sresteListeDefTab};
M[listeDefTab][adresse]={sdefTab,sresteListeDefTab};
M[listeDefTab][arobase]={sdefTab,sresteListeDefTab};
M[listeDefTab][litteral]={sdefTab,sresteListeDefTab};
M[listeDefTab][moins]={sdefTab,sresteListeDefTab};
M[listeDefTab][po]={sdefTab,sresteListeDefTab};
M[listeDefTab][id]={sdefTab,sresteListeDefTab};
M[listeDefTab][entier]={sdefTab,sresteListeDefTab};
M[listeDefTab][decimal]={sdefTab,sresteListeDefTab};
M[listeDefTab][accOuv]={sdefTab,sresteListeDefTab};
M[resteListeDefTab][deuxpts]={sdeuxpts,sdefTab,
sresteListeDefTab};
M[nomproc][proc]={sproc,sid,sfix,spo,
slisteArguments,spf,smod,spo,
slisteArguments,spf};
M[argument][ent]={stoutType,sid};
M[argument][dec]={stoutType,sid};
M[argument][car]={stoutType,sid};
M[argument][motclebool]={stoutType,sid};
M[argument][motcleEnum]={stoutType,sid};
M[argument][arobase]={stoutType,sid};
M[argument][classe]={stoutType,sid};
M[argument][co]={sco,scf,sargumentTab,
sid};
M[argumentTab][co]={sco,svaleurDroite,scf,
sargumentTab};
M[argumentTab][id]={sepsilon};
M[listeArguments][ent]={sargument,sresteListeArguments};
M[listeArguments][dec]={sargument,sresteListeArguments};
M[listeArguments][car]={sargument,sresteListeArguments};
M[listeArguments][motclebool]={sargument,
sresteListeArguments};
M[listeArguments][motcleEnum]={sargument,
sresteListeArguments};
M[listeArguments][arobase]={sargument,
sresteListeArguments};
M[listeArguments][classe]={sargument,
sresteListeArguments};
M[listeArguments][co]={sargument,sresteListeArguments};
M[resteListeArguments][deuxpts]={sdeuxpts,sargument,
sresteListeArguments};
M[resteListeArguments][pf]={sepsilon};
M[nomFonction][co]={slisteIndices,stoutType,
sfonct,sid,sfix,spo,
slisteArguments,spf};
M[nomFonction][ent]={stoutType,sfonct,sid,
sfix,spo,slisteArguments,spf};
M[nomFonction][dec]={stoutType,sfonct,sid,
sfix,spo,slisteArguments,spf};
M[nomFonction][car]={stoutType,sfonct,sid,
sfix,spo,slisteArguments,spf};
M[nomFonction][motclebool]={stoutType,sfonct,sid,
sfix,spo,slisteArguments,spf};
M[nomFonction][motcleEnum]={stoutType,sfonct,sid,
sfix,spo,slisteArguments,spf};
M[nomFonction][arobase]={stoutType,sfonct,sid,
sfix,spo,slisteArguments,spf};
M[nomFonction][classe]={stoutType,sfonct,sid,
sfix,spo,slisteArguments,spf};
M[defproc][proc]={sproc,sid,sfix,spo,
slisteArguments,spf,smod,spo,
slisteArguments,spf,sdebut,scorpsopt,
sfin};
M[deffonct][co]={sco,svaleurDroite,scf,
stoutType,sfonct,sfix,spo,
slisteArguments,spf,sdebut,scorpsopt,
sfin};
M[deffonct][ent]={stoutType,sfonct,sfix,
spo,slisteArguments,spf,sdebut,
scorpsopt,sfin};
M[deffonct][dec]={stoutType,sfonct,sfix,
spo,slisteArguments,spf,sdebut,
scorpsopt,sfin};
M[deffonct][car]={stoutType,sfonct,sfix,
spo,slisteArguments,spf,sdebut,
scorpsopt,sfin};
M[deffonct][motclebool]={stoutType,sfonct,sfix,
spo,slisteArguments,spf,sdebut,
scorpsopt,sfin};
M[deffonct][motcleEnum]={stoutType,sfonct,sfix,
spo,slisteArguments,spf,sdebut,
scorpsopt,sfin};
M[deffonct][arobase]={stoutType,sfonct,sfix,
spo,slisteArguments,spf,sdebut,
scorpsopt,sfin};
M[deffonct][classe]={stoutType,sfonct,sfix,
spo,slisteArguments,spf,sdebut,
scorpsopt,sfin};
M[declaration][var]={stypeVar,slisteVar};
M[declaration][motcleconst]={stypeConst,slisteConst};
M[declaration][tab]={stypeTableau,sid,
sdefintionStruct};
M[declaration][obj]={stypeObj,sid,
sparamsConstructeur,sdefintionStruct};
M[paramsConstructeur][po]={spo,slisteValeursDroites,
spf};
M[paramsConstructeur][accOuv]={sepsilon};
M[paramsConstructeur][ptvirg]={sepsilon};
M[typeObj][obj]={sobj,sid};
M[surchargeOperateur][operateur]={soperateur,sop,
spo,sunOuDeuxArguments,spf,sdebut,
scorpsopt,sfin};
M[op][non]={snon};
M[op][et]={set};
M[op][ou]={sou};
M[op][oprel]={soprel};
M[op][non8]={snon8};
M[op][et8]={set8};
M[op][ou8]={sou8};
M[op][plus]={splus};
M[op][moins]={smoins};
M[op][etoile]={setoile};
M[op][slash]={sslash};
M[op][co]={sco,scf};
M[op][po]={spo,spf};
M[op][point]={spoint};
M[unOuDeuxArguments][ent]={stoutType,sid,
sresteUnOuDeuxArguments};
M[unOuDeuxArguments][dec]={stoutType,sid,
sresteUnOuDeuxArguments};
M[unOuDeuxArguments][car]={stoutType,sid,
sresteUnOuDeuxArguments};
M[unOuDeuxArguments][motclebool]={stoutType,sid,
sresteUnOuDeuxArguments};
M[unOuDeuxArguments][motcleEnum]={stoutType,sid,
sresteUnOuDeuxArguments};
M[unOuDeuxArguments][arobase]={stoutType,sid,
sresteUnOuDeuxArguments};
M[unOuDeuxArguments][classe]={stoutType,sid,
sresteUnOuDeuxArguments};
M[resteUnOuDeuxArguments][deuxpts]={sdeuxpts,stoutType,
sid};
M[resteUnOuDeuxArguments][pf]={sepsilon};
M[declareMethode][meth]={smeth,sid,smethode};
M[methode][proc]={sdefproc};
M[methode][co]={sdeffonct};
M[methode][ent]={sdeffonct};
M[methode][dec]={sdeffonct};
M[methode][car]={sdeffonct};
M[methode][motclebool]={sdeffonct};
M[methode][motcleEnum]={sdeffonct};
M[methode][arobase]={sdeffonct};
M[methode][classe]={sdeffonct};
M[definitionEnum][defEnum]={sdefEnum,sid,saccOuv,
slisteId,saccFerm};
M[typeEnum][motcleEnum]={smotcleEnum,sid};
M[valeurDroite][non]={stermeBool,sresteValeurDroite};
M[valeurDroite][valbool]={stermeBool,sresteValeurDroite};
M[valeurDroite][caractere]={stermeBool,
sresteValeurDroite};
M[valeurDroite][adresse]={stermeBool,sresteValeurDroite};
M[valeurDroite][arobase]={stermeBool,sresteValeurDroite};
M[valeurDroite][litteral]={stermeBool,
sresteValeurDroite};
M[valeurDroite][moins]={stermeBool,sresteValeurDroite};
M[valeurDroite][po]={stermeBool,sresteValeurDroite};
M[valeurDroite][id]={stermeBool,sresteValeurDroite};
M[valeurDroite][entier]={stermeBool,sresteValeurDroite};
M[valeurDroite][decimal]={stermeBool,sresteValeurDroite};
M[resteValeurDroite][ou]={sou,stermeBool,
sresteValeurDroite};
M[resteValeurDroite][ptvirg]={sepsilon};
M[resteValeurDroite][deuxpts]={sepsilon};
M[resteValeurDroite][accFerm]={sepsilon};
M[resteValeurDroite][pf]={sepsilon};
M[resteValeurDroite][cf]={sepsilon};
M[resteValeurDroite][fin]={sepsilon};
M[resteValeurDroite][sinonsi]={sepsilon};
M[resteValeurDroite][sinon]={sepsilon};
M[resteValeurDroite][tanque]={sepsilon};
M[resteValeurDroite][refaire]={sepsilon};
M[resteValeurDroite][fait]={sepsilon};
M[resteValeurDroite][fsi]={sepsilon};
M[resteValeurDroite][alors]={sepsilon};
M[resteValeurDroite][affect]={sepsilon};
M[resteValeurDroite][appel]={sepsilon};
M[resteValeurDroite][si]={sepsilon};
M[resteValeurDroite][faire]={sepsilon};
M[resteValeurDroite][pour]={sepsilon};
M[termeBool][non]={sfacteurBool,sresteTermeBool};
M[termeBool][valbool]={sfacteurBool,sresteTermeBool};
M[termeBool][caractere]={sfacteurBool,sresteTermeBool};
M[termeBool][adresse]={sfacteurBool,sresteTermeBool};
M[termeBool][arobase]={sfacteurBool,sresteTermeBool};
M[termeBool][litteral]={sfacteurBool,sresteTermeBool};
M[termeBool][moins]={sfacteurBool,sresteTermeBool};
M[termeBool][po]={sfacteurBool,sresteTermeBool};
M[termeBool][id]={sfacteurBool,sresteTermeBool};
M[termeBool][entier]={sfacteurBool,sresteTermeBool};
M[termeBool][decimal]={sfacteurBool,sresteTermeBool};
M[resteTermeBool][et]={set,sfacteurBool,
sresteTermeBool};
M[resteTermeBool][ou]={sepsilon};
M[resteTermeBool][ptvirg]={sepsilon};
M[resteTermeBool][deuxpts]={sepsilon};
M[resteTermeBool][accFerm]={sepsilon};
M[resteTermeBool][pf]={sepsilon};
M[resteTermeBool][cf]={sepsilon};
M[resteTermeBool][fin]={sepsilon};
M[resteTermeBool][sinonsi]={sepsilon};
M[resteTermeBool][sinon]={sepsilon};
M[resteTermeBool][tanque]={sepsilon};
M[resteTermeBool][refaire]={sepsilon};
M[resteTermeBool][fait]={sepsilon};
M[resteTermeBool][fsi]={sepsilon};
M[resteTermeBool][alors]={sepsilon};
M[resteTermeBool][affect]={sepsilon};
M[resteTermeBool][appel]={sepsilon};
M[resteTermeBool][si]={sepsilon};
M[resteTermeBool][faire]={sepsilon};
M[resteTermeBool][pour]={sepsilon};
M[facteurBool][non]={snon,sfacteurBool};
M[facteurBool][valbool]={svalbool};
M[facteurBool][caractere]={sexpression,srelation};
M[facteurBool][adresse]={sexpression,srelation};
M[facteurBool][arobase]={sexpression,srelation};
M[facteurBool][litteral]={sexpression,srelation};
M[facteurBool][moins]={sexpression,srelation};
M[facteurBool][po]={sexpression,srelation};
M[facteurBool][id]={sexpression,srelation};
M[facteurBool][entier]={sexpression,srelation};
M[facteurBool][decimal]={sexpression,srelation};
M[relation][oprel]={soprel,sexpression};
M[expression][caractere]={sterme,sresteTerme};
M[expression][adresse]={sterme,sresteTerme};
M[expression][arobase]={sterme,sresteTerme};
M[expression][litteral]={sterme,sresteTerme};
M[expression][moins]={sterme,sresteTerme};
M[expression][po]={sterme,sresteTerme};
M[expression][id]={sterme,sresteTerme};
M[expression][entier]={sterme,sresteTerme};
M[expression][decimal]={sterme,sresteTerme};
M[resteTerme][plus]={splus,sterme,sresteTerme};
M[resteTerme][moins]={smoins,sterme,sresteTerme};
M[resteTerme][oprel]={sepsilon};
M[resteTerme][et]={sepsilon};
M[resteTerme][ou]={sepsilon};
M[resteTerme][ptvirg]={sepsilon};
M[resteTerme][deuxpts]={sepsilon};
M[resteTerme][accFerm]={sepsilon};
M[resteTerme][pf]={sepsilon};
M[resteTerme][cf]={sepsilon};
M[resteTerme][fin]={sepsilon};
M[resteTerme][sinonsi]={sepsilon};
M[resteTerme][sinon]={sepsilon};
M[resteTerme][tanque]={sepsilon};
M[resteTerme][refaire]={sepsilon};
M[resteTerme][fait]={sepsilon};
M[resteTerme][fsi]={sepsilon};
M[resteTerme][alors]={sepsilon};
M[resteTerme][affect]={sepsilon};
M[resteTerme][appel]={sepsilon};
M[resteTerme][si]={sepsilon};
M[resteTerme][faire]={sepsilon};
M[resteTerme][pour]={sepsilon};
M[resteTerme][jusque]={sepsilon};
M[resteTerme][pas]={sepsilon};
M[terme][caractere]={scaractere};
M[terme][adresse]={sadresse};
M[terme][arobase]={sarobase,svaleurGauche};
M[terme][litteral]={slitteral};
M[terme][moins]={sfacteur,sresteFacteur};
M[terme][po]={sfacteur,sresteFacteur};
M[terme][id]={sfacteur,sresteFacteur};
M[terme][entier]={sfacteur,sresteFacteur};
M[terme][decimal]={sfacteur,sresteFacteur};
M[resteFacteur][etoile]={setoile,sfacteur,
sresteFacteur};
M[resteFacteur][slash]={sslash,sfacteur,
sresteFacteur};
M[resteFacteur][plus]={sepsilon};
M[resteFacteur][moins]={sepsilon};
M[resteFacteur][oprel]={sepsilon};
M[resteFacteur][et]={sepsilon};
M[resteFacteur][ou]={sepsilon};
M[resteFacteur][ptvirg]={sepsilon};
M[resteFacteur][deuxpts]={sepsilon};
M[resteFacteur][accFerm]={sepsilon};
M[resteFacteur][pf]={sepsilon};
M[resteFacteur][cf]={sepsilon};
M[resteFacteur][fin]={sepsilon};
M[resteFacteur][sinonsi]={sepsilon};
M[resteFacteur][sinon]={sepsilon};
M[resteFacteur][tanque]={sepsilon};
M[resteFacteur][refaire]={sepsilon};
M[resteFacteur][fait]={sepsilon};
M[resteFacteur][fsi]={sepsilon};
M[resteFacteur][alors]={sepsilon};
M[resteFacteur][affect]={sepsilon};
M[resteFacteur][appel]={sepsilon};
M[resteFacteur][si]={sepsilon};
M[resteFacteur][faire]={sepsilon};
M[resteFacteur][pour]={sepsilon};
M[resteFacteur][jusque]={sepsilon};
M[resteFacteur][pas]={sepsilon};
M[facteur][moins]={smoins,sfacteur};
M[facteur][po]={spo,svaleurDroite,spf,
sP};
M[facteur][id]={sgroupeId,sP};
M[facteur][entier]={sentier,sP};
M[facteur][decimal]={sdecimal,sP};
M[P][chapeau]={schapeau,sfacteur};
M[P][etoile]={sepsilon};
M[P][slash]={sepsilon};
M[P][plus]={sepsilon};
M[P][moins]={sepsilon};
M[P][oprel]={sepsilon};
M[P][et]={sepsilon};
M[P][ou]={sepsilon};
M[P][ptvirg]={sepsilon};
M[P][deuxpts]={sepsilon};
M[P][accFerm]={sepsilon};
M[P][pf]={sepsilon};
M[P][cf]={sepsilon};
M[P][fin]={sepsilon};
M[P][sinonsi]={sepsilon};
M[P][sinon]={sepsilon};
M[P][tanque]={sepsilon};
M[P][refaire]={sepsilon};
M[P][fait]={sepsilon};
M[P][fsi]={sepsilon};
M[P][alors]={sepsilon};
M[P][affect]={sepsilon};
M[P][appel]={sepsilon};
M[P][si]={sepsilon};
M[P][faire]={sepsilon};
M[P][pour]={sepsilon};
M[P][jusque]={sepsilon};
M[P][pas]={sepsilon};
M[groupeId][id]={sid,sapresId};
M[apresId][point]={spoint,sid,sapresId};
M[apresId][co]={slisteIndices,sapresIndices};
M[apresId][po]={spo,slisteValeursDroites,spf,
sapresParentheses};
M[apresId][arobase]={sarobase,sapresArobase};
M[apresId][chapeau]={sepsilon};
M[apresId][etoile]={sepsilon};
M[apresId][slash]={sepsilon};
M[apresId][plus]={sepsilon};
M[apresId][moins]={sepsilon};
M[apresId][oprel]={sepsilon};
M[apresId][et]={sepsilon};
M[apresId][ou]={sepsilon};
M[apresId][ptvirg]={sepsilon};
M[apresId][deuxpts]={sepsilon};
M[apresId][accFerm]={sepsilon};
M[apresId][pf]={sepsilon};
M[apresId][cf]={sepsilon};
M[apresId][fin]={sepsilon};
M[apresId][sinonsi]={sepsilon};
M[apresId][sinon]={sepsilon};
M[apresId][tanque]={sepsilon};
M[apresId][refaire]={sepsilon};
M[apresId][fait]={sepsilon};
M[apresId][fsi]={sepsilon};
M[apresId][alors]={sepsilon};
M[apresId][affect]={sepsilon};
M[apresId][appel]={sepsilon};
M[apresId][si]={sepsilon};
M[apresId][faire]={sepsilon};
M[apresId][pour]={sepsilon};
M[apresId][jusque]={sepsilon};
M[apresId][pas]={sepsilon};
M[apresIndices][point]={spoint,sid,sapresId};
M[apresIndices][arobase]={sarobase,sapresArobase};
M[apresIndices][chapeau]={sepsilon};
M[apresIndices][etoile]={sepsilon};
M[apresIndices][slash]={sepsilon};
M[apresIndices][plus]={sepsilon};
M[apresIndices][moins]={sepsilon};
M[apresIndices][oprel]={sepsilon};
M[apresIndices][et]={sepsilon};
M[apresIndices][ou]={sepsilon};
M[apresIndices][ptvirg]={sepsilon};
M[apresIndices][deuxpts]={sepsilon};
M[apresIndices][accFerm]={sepsilon};
M[apresIndices][pf]={sepsilon};
M[apresIndices][cf]={sepsilon};
M[apresIndices][fin]={sepsilon};
M[apresIndices][sinonsi]={sepsilon};
M[apresIndices][sinon]={sepsilon};
M[apresIndices][tanque]={sepsilon};
M[apresIndices][refaire]={sepsilon};
M[apresIndices][fait]={sepsilon};
M[apresIndices][fsi]={sepsilon};
M[apresIndices][alors]={sepsilon};
M[apresIndices][affect]={sepsilon};
M[apresIndices][appel]={sepsilon};
M[apresIndices][si]={sepsilon};
M[apresIndices][faire]={sepsilon};
M[apresIndices][pour]={sepsilon};
M[apresIndices][jusque]={sepsilon};
M[apresIndices][pas]={sepsilon};
M[apresParentheses][point]={spoint,sid,
sapresId};
M[apresParentheses][co]={slisteIndices,sapresIndices};
M[apresParentheses][arobase]={sarobase,sapresArobase};
M[apresParentheses][chapeau]={sepsilon};
M[apresParentheses][etoile]={sepsilon};
M[apresParentheses][slash]={sepsilon};
M[apresParentheses][plus]={sepsilon};
M[apresParentheses][moins]={sepsilon};
M[apresParentheses][oprel]={sepsilon};
M[apresParentheses][et]={sepsilon};
M[apresParentheses][ou]={sepsilon};
M[apresParentheses][ptvirg]={sepsilon};
M[apresParentheses][deuxpts]={sepsilon};
M[apresParentheses][accFerm]={sepsilon};
M[apresParentheses][pf]={sepsilon};
M[apresParentheses][cf]={sepsilon};
M[apresParentheses][fin]={sepsilon};
M[apresParentheses][sinonsi]={sepsilon};
M[apresParentheses][sinon]={sepsilon};
M[apresParentheses][tanque]={sepsilon};
M[apresParentheses][refaire]={sepsilon};
M[apresParentheses][fait]={sepsilon};
M[apresParentheses][fsi]={sepsilon};
M[apresParentheses][alors]={sepsilon};
M[apresParentheses][affect]={sepsilon};
M[apresParentheses][appel]={sepsilon};
M[apresParentheses][si]={sepsilon};
M[apresParentheses][faire]={sepsilon};
M[apresParentheses][pour]={sepsilon};
M[apresParentheses][jusque]={sepsilon};
M[apresParentheses][pas]={sepsilon};
M[apresArobase][point]={spoint,sid,sapresId};
M[apresArobase][arobase]={sarobase,sapresArobase};
M[apresArobase][chapeau]={sepsilon};
M[apresArobase][etoile]={sepsilon};
M[apresArobase][slash]={sepsilon};
M[apresArobase][plus]={sepsilon};
M[apresArobase][moins]={sepsilon};
M[apresArobase][oprel]={sepsilon};
M[apresArobase][et]={sepsilon};
M[apresArobase][ou]={sepsilon};
M[apresArobase][ptvirg]={sepsilon};
M[apresArobase][deuxpts]={sepsilon};
M[apresArobase][accFerm]={sepsilon};
M[apresArobase][pf]={sepsilon};
M[apresArobase][cf]={sepsilon};
M[apresArobase][fin]={sepsilon};
M[apresArobase][sinonsi]={sepsilon};
M[apresArobase][sinon]={sepsilon};
M[apresArobase][tanque]={sepsilon};
M[apresArobase][refaire]={sepsilon};
M[apresArobase][fait]={sepsilon};
M[apresArobase][fsi]={sepsilon};
M[apresArobase][alors]={sepsilon};
M[apresArobase][affect]={sepsilon};
M[apresArobase][appel]={sepsilon};
M[apresArobase][si]={sepsilon};
M[apresArobase][faire]={sepsilon};
M[apresArobase][pour]={sepsilon};
M[apresArobase][jusque]={sepsilon};
M[apresArobase][pas]={sepsilon};
M[corpsopt][var]={scorps};
M[corpsopt][motcleconst]={scorps};
M[corpsopt][tab]={scorps};
M[corpsopt][obj]={scorps};
M[corpsopt][affect]={scorps};
M[corpsopt][appel]={scorps};
M[corpsopt][si]={scorps};
M[corpsopt][faire]={scorps};
M[corpsopt][pour]={scorps};
M[corpsopt][fin]={sepsilon};
M[corps][var]={sdeclaration,sptvirg,scorps};
M[corps][motcleconst]={sdeclaration,sptvirg,
scorps};
M[corps][tab]={sdeclaration,sptvirg,scorps};
M[corps][obj]={sdeclaration,sptvirg,scorps};
M[corps][affect]={ssequence};
M[corps][appel]={ssequence};
M[corps][si]={ssequence};
M[corps][faire]={ssequence};
M[corps][pour]={ssequence};
M[sequence][affect]={sinstr,sresteSequence};
M[sequence][appel]={sinstr,sresteSequence};
M[sequence][si]={sinstr,sresteSequence};
M[sequence][faire]={sinstr,sresteSequence};
M[sequence][pour]={sinstr,sresteSequence};
M[resteSequence][ptvirg]={sptvirg,sinstr,
sresteSequence};
M[resteSequence][fin]={sepsilon};
M[resteSequence][sinonsi]={sepsilon};
M[resteSequence][sinon]={sepsilon};
M[resteSequence][tanque]={sepsilon};
M[resteSequence][refaire]={sepsilon};
M[resteSequence][fait]={sepsilon};
M[resteSequence][fsi]={sepsilon};
M[instr][affect]={saffect,svaleurGauche,
sdeuxptsEgal,svaleurDroite};
M[instr][appel]={sappel,sid,spo,
slisteValeursDroites,spf,spo,
slisteValeursGauches,spf};
M[instr][si]={ssi,svaleurDroite,salors,
ssequence,sresteSi,sfsi};
M[instr][faire]={sfaire,ssequence,stanque,
svaleurDroite,ssequence,srefaire};
M[instr][pour]={spour,svaleurGauche,sdepuis,
sexpression,sjusque,sexpression,spas,
sexpression,sfaire,ssequence,sfait};
M[resteSi][sinonsi]={ssinonsi,svaleurDroite,
salors,
ssequence,sresteSi};
M[resteSi][sinon]={ssinon,ssequence};
M[listeValeursGauches][id]={svaleurGauche,
sresteListeValeurGauche};
M[resteListeValeurGauche][deuxpts]={sdeuxpts,
svaleurGauche,
sresteListeValeurGauche};
M[resteListeValeurGauche][pf]={sepsilon};
M[valeurGauche][id]={sid,sapresIdGauche};
M[apresIdGauche][point]={spoint,sid,
sapresIdGauche};
M[apresIdGauche][co]={slisteIndices,
sapresIndicesGauche};
M[apresIdGauche][po]={spo,slisteValeursDroites,
spf,sapresParenthesesGauche};
M[apresIdGauche][arobase]={sarobase,
sapresArobaseGauche};
M[apresIdGauche][plus]={sepsilon};
M[apresIdGauche][moins]={sepsilon};
M[apresIdGauche][oprel]={sepsilon};
M[apresIdGauche][et]={sepsilon};
M[apresIdGauche][ou]={sepsilon};
M[apresIdGauche][ptvirg]={sepsilon};
M[apresIdGauche][deuxpts]={sepsilon};
M[apresIdGauche][accFerm]={sepsilon};
M[apresIdGauche][pf]={sepsilon};
M[apresIdGauche][cf]={sepsilon};
M[apresIdGauche][fin]={sepsilon};
M[apresIdGauche][sinonsi]={sepsilon};
M[apresIdGauche][sinon]={sepsilon};
M[apresIdGauche][tanque]={sepsilon};
M[apresIdGauche][refaire]={sepsilon};
M[apresIdGauche][fait]={sepsilon};
M[apresIdGauche][fsi]={sepsilon};
M[apresIdGauche][alors]={sepsilon};
M[apresIdGauche][affect]={sepsilon};
M[apresIdGauche][appel]={sepsilon};
M[apresIdGauche][si]={sepsilon};
M[apresIdGauche][faire]={sepsilon};
M[apresIdGauche][pour]={sepsilon};
M[apresIdGauche][jusque]={sepsilon};
M[apresIdGauche][pas]={sepsilon};
M[apresIdGauche][deuxptsEgal]={sepsilon};
M[apresIdGauche][depuis]={sepsilon};
M[apresIndicesGauche][point]={spoint,sid,
sapresIdGauche};
M[apresIndicesGauche][arobase]={sarobase,
sapresArobaseGauche};
M[apresIndicesGauche][plus]={sepsilon};
M[apresIndicesGauche][moins]={sepsilon};
M[apresIndicesGauche][oprel]={sepsilon};
M[apresIndicesGauche][et]={sepsilon};
M[apresIndicesGauche][ou]={sepsilon};
M[apresIndicesGauche][ptvirg]={sepsilon};
M[apresIndicesGauche][deuxpts]={sepsilon};
M[apresIndicesGauche][accFerm]={sepsilon};
M[apresIndicesGauche][pf]={sepsilon};
M[apresIndicesGauche][cf]={sepsilon};
M[apresIndicesGauche][fin]={sepsilon};
M[apresIndicesGauche][sinonsi]={sepsilon};
M[apresIndicesGauche][sinon]={sepsilon};
M[apresIndicesGauche][tanque]={sepsilon};
M[apresIndicesGauche][refaire]={sepsilon};
M[apresIndicesGauche][fait]={sepsilon};
M[apresIndicesGauche][fsi]={sepsilon};
M[apresIndicesGauche][alors]={sepsilon};
M[apresIndicesGauche][affect]={sepsilon};
M[apresIndicesGauche][appel]={sepsilon};
M[apresIndicesGauche][si]={sepsilon};
M[apresIndicesGauche][faire]={sepsilon};
M[apresIndicesGauche][pour]={sepsilon};
M[apresIndicesGauche][jusque]={sepsilon};
M[apresIndicesGauche][pas]={sepsilon};
M[apresIndicesGauche][deuxptsEgal]={sepsilon};
M[apresIndicesGauche][depuis]={sepsilon};
M[apresParenthesesGauche][point]={spoint,sid,
sapresIdGauche};
M[apresParenthesesGauche][co]={slisteIndices,
sapresIndicesGauche};
M[apresParenthesesGauche][arobase]={sarobase,
sapresArobaseGauche};
M[apresArobaseGauche][point]={spoint,sid,
sapresIdGauche};
M[apresArobaseGauche][arobase]={sarobase,
sapresArobaseGauche};
M[apresArobaseGauche][plus]={sepsilon};
M[apresArobaseGauche][moins]={sepsilon};
M[apresArobaseGauche][oprel]={sepsilon};
M[apresArobaseGauche][et]={sepsilon};
M[apresArobaseGauche][ou]={sepsilon};
M[apresArobaseGauche][ptvirg]={sepsilon};
M[apresArobaseGauche][deuxpts]={sepsilon};
M[apresArobaseGauche][accFerm]={sepsilon};
M[apresArobaseGauche][pf]={sepsilon};
M[apresArobaseGauche][cf]={sepsilon};
M[apresArobaseGauche][fin]={sepsilon};
M[apresArobaseGauche][sinonsi]={sepsilon};
M[apresArobaseGauche][sinon]={sepsilon};
M[apresArobaseGauche][tanque]={sepsilon};
M[apresArobaseGauche][refaire]={sepsilon};
M[apresArobaseGauche][fait]={sepsilon};
M[apresArobaseGauche][fsi]={sepsilon};
M[apresArobaseGauche][alors]={sepsilon};
M[apresArobaseGauche][affect]={sepsilon};
M[apresArobaseGauche][appel]={sepsilon};
M[apresArobaseGauche][si]={sepsilon};
M[apresArobaseGauche][faire]={sepsilon};
M[apresArobaseGauche][pour]={sepsilon};
M[apresArobaseGauche][jusque]={sepsilon};
M[apresArobaseGauche][pas]={sepsilon};
M[apresArobaseGauche][deuxptsEgal]={sepsilon};
M[apresArobaseGauche][depuis]={sepsilon};
symbole tabTerminal[nbTerms]={sprog,sid,sptvirg,
sdebut,sfin,sabstr,sdefclasse,
saccOuv,saccFerm,sclasse,sherite,
sdeuxPts,sconstr,sdestr,spo,
spf,svar,sent,sdec,scar,
smotclebool,sarobase,sdeuxptsEgal,
sdeuxpts,smotcleconst,stab,sco,
scf,sproc,sfix,smod,sfonct,
sobj,soperateur,snon,set,sou,
soprel,snon8,set8,sou8,splus,
smoins,setoile,sslash,spoint,
smeth,sdefEnum,smotcleEnum,svalbool,
scaractere,sadresse,slitteral,sentier,
sdecimal,schapeau,saffect,sappel,
ssi,salors,sfsi,sfaire,
stanque,srefaire,spour,sdepuis,
sjusque,spas,sfait,ssinonsi,
ssinon};
}
bool syntaxique::XestTerminal(){
int i;
for(i=0;i<nbTerms && tabTerminal[i]!=X;i++)
;
return i<nbTerms;
}
bool syntaxique::Xvauta(){
std::map<terminal,symbole> m={
{prog,sprog},
{id,sid},
{ptvirg,sptvirg},
{debut,sdebut},
{fin,sfin},
{abstr,sabstr},
{defclasse,sdefclasse},
{accOuv,saccOuv},
{accFerm,saccFerm},
{classe,sclasse},
{herite,sherite},
{deuxPts,sdeuxPts},
{constr,sconstr},
{destr,sdestr},
{po,spo},
{pf,spf},
{var,svar},
{ent,sent},
{dec,sdec},
{car,scar},
{motclebool,smotclebool},
{arobase,sarobase},
{deuxptsEgal,sdeuxptsEgal},
{deuxpts,sdeuxpts},
{motcleconst,smotcleconst},
{tab,stab},
{co,sco},
{cf,scf},
{proc,sproc},
{fix,sfix},
{mod,smod},
{fonct,sfonct},
{obj,sobj},
{operateur,soperateur},
{non,snon},
{et,set},
{ou,sou},
{oprel,soprel},
{non8,snon8},
{et8,set8},
{ou8,sou8},
{plus,splus},
{moins,smoins},
{etoile,setoile},
{slash,sslash},
{point,spoint},
{meth,smeth},
{defEnum,sdefEnum},
{motcleEnum,smotcleEnum},
{valbool,svalbool},
{caractere,scaractere},
{adresse,sadresse},
{litteral,slitteral},
{entier,sentier},
{decimal,sdecimal},
{chapeau,schapeau},
{affect,saffect},
{appel,sappel},
{si,ssi},
{alors,salors},
{fsi,sfsi},
{faire,sfaire},
{tanque,stanque},
{refaire,srefaire},
{pour,spour},
{depuis,sdepuis},
{jusque,sjusque},
{pas,spas},
{fait,sfait},
{sinonsi,ssinonsi},
{sinon,ssinon},
{epsilon,sepsilon},
{dolar,sdolar}
};
auto search=m.find(a.getLex());
return X==search->second;
}
std::string syntaxique::stringSymbole(symbole x){
std::map<symbole,std::string> t={
{sprog,"prog"},
{sid,"id"},
{sptvirg,"ptvirg"},
{sdebut,"debut"},
{sfin,"fin"},
{sabstr,"abstr"},
{sdefclasse,"defclasse"},
{saccOuv,"accOuv"},
{saccFerm,"accFerm"},
{sclasse,"classe"},
{sherite,"herite"},
{sdeuxPts,"deuxPts"},
{sconstr,"constr"},
{sdestr,"destr"},
{spo,"po"},
{spf,"pf"},
{svar,"var"},
{sent,"ent"},
{sdec,"dec"},
{scar,"car"},
{smotclebool,"motclebool"},
{sarobase,"arobase"},
{sdeuxptsEgal,"deuxptsEgal"},
{sdeuxpts,"deuxpts"},
{smotcleconst,"motcleconst"},
{stab,"tab"},
{sco,"co"},
{scf,"cf"},
{sproc,"proc"},
{sfix,"fix"},
{smod,"mod"},
{sfonct,"fonct"},
{sobj,"obj"},
{soperateur,"operateur"},
{snon,"non"},
{set,"et"},
{sou,"ou"},
{soprel,"oprel"},
{snon8,"non8"},
{set8,"et8"},
{sou8,"ou8"},
{splus,"plus"},
{smoins,"moins"},
{setoile,"etoile"},
{sslash,"slash"},
{spoint,"point"},
{smeth,"meth"},
{sdefEnum,"defEnum"},
{smotcleEnum,"motcleEnum"},
{svalbool,"valbool"},
{scaractere,"caractere"},
{sadresse,"adresse"},
{slitteral,"litteral"},
{sentier,"entier"},
{sdecimal,"decimal"},
{schapeau,"chapeau"},
{saffect,"affect"},
{sappel,"appel"},
{ssi,"si"},
{salors,"alors"},
{sfsi,"fsi"},
{sfaire,"faire"},
{stanque,"tanque"},
{srefaire,"refaire"},
{spour,"pour"},
{sdepuis,"depuis"},
{sjusque,"jusque"},
{spas,"pas"},
{sfait,"fait"},
{ssinonsi,"sinonsi"},
{ssinon,"sinon"},
{sepsilon,"epsilon"},
{sdolar,"dolar"},
{ssynchro,"synchro"},
{serr,"err"},
{sprogramme,"programme"},
{sresteProg,"resteProg"},
{sdeclareGlobales,"declareGlobales"},
{sdefinitionclasse,"definitionclasse"},
{stypeClasse,"typeClasse"},
{sheritage,"heritage"},
{slisteId,"listeId"},
{sresteListeId,"resteListeId"},
{sconstructeur,"constructeur"},
{sdestructeur,"destructeur"},
{slisteArgumentsopt,"listeArgumentsopt"},
{slistemembre
je ne comprends pas ce message d'erreur
main.cpp: In function ‘int main(int, char**)’:
main.cpp:5:11: error: request for member ‘anaSynt’ in ‘compilo’, which is of non-class type ‘syntaxique(char*)’
5 | compilo.anaSynt();
| ^~~~~~~
voici main.cpp:
#include "syntaxique.hpp"
int main(int argc,char *argv[]){
syntaxique compilo(char argv[1]);
compilo.anaSynt();
}
syntaxique.hpp:
#ifndef TABLES_HPP
#define TABLES_HPP
#include <vector>
#include <vector>
#include "symboles.hpp"
#include "lexical.hpp"
class syntaxique{
public:
syntaxique(char *nomFichier);
void anaSynt();
private:
lexical pe;
std::vector<symbole> M[nbNonTerms][nbTerms];
std::vector<symbole> pile;
symbole tabTerminal[nbTerms];
symbole X;
uniLex a;
bool Xvauta();
bool XestTerminal();
void creerM();
void emettre();
std::string stringSymbole(symbole x);
};
#endif
et syntaxique.cpp:
<code>#include <vector>
#include <iostream>
#include <map>
#include "syntaxique.hpp"
#include "symboles.hpp"
syntaxique::syntaxique(char *nomFichier):pe(nomFichier){
pile.push_back(sdolar);
pile.push_back(sprogramme);
creerM();
}
void syntaxique::anaSynt(){
a=pe.anaLex();
for(X=pile.back();X!=sdolar;X=pile.back()){
if(Xvauta()){
pile.pop_back();
a=pe.anaLex();
}
else if(XestTerminal()){
std::cerr<<"ligne "<<pe.getLigne()<<" : "<<stringSymbole(X)
<<" inatendu"<<std::endl;
a=pe.anaLex();
pile.pop_back();
}
else if(M[X][a.getLex()][0]==serr){
std::cerr<<"erreur err à la ligne "<<pe.getLigne()<<std::endl;
a=pe.anaLex();
}
else if(M[X][a.getLex()][0]==ssynchro){
std::cerr<<"erreur synchro à la ligne "<<pe.getLigne()<<std::endl;
pile.pop_back();
}
else{
emettre();
pile.pop_back();
for(int i=M[X][a.getLex()].size()-1;i>=0;i--)
pile.push_back(M[X][a.getLex()][i]);
}
}
}
void syntaxique::creerM(){
for(int i=0;i<nbNonTerms;i++)
for(int j=0;j<nbTerms;j++)
M[i][j].push_back(serr);
M[programme][dolar]={ssynchro};
M[resteProg][dolar]={ssynchro};
M[declareGlobales][ptvirg]={ssynchro};
M[definitionclasse][ptvirg]={ssynchro};
M[typeClasse][id]={ssynchro};
M[typeClasse][fonct]={ssynchro};
M[heritage][accOuv]={ssynchro};
M[listeId][accOuv]={ssynchro};
M[listeId][ptvirg]={ssynchro};
M[listeId][accFerm]={ssynchro};
M[resteListeId][accOuv]={ssynchro};
M[resteListeId][ptvirg]={ssynchro};
M[resteListeId][accFerm]={ssynchro};
M[constructeur][ptvirg]={ssynchro};
M[destructeur][ptvirg]={ssynchro};
M[listeArgumentsopt][debut]={ssynchro};
M[listemembres][accFerm]={ssynchro};
M[resteListeMembre][accFerm]={ssynchro};
M[declareObj][ptvirg]={ssynchro};
M[declareObj][accFerm]={ssynchro};
M[typeVar][id]={ssynchro};
M[typeSimple][id]={ssynchro};
M[toutType][id]={ssynchro};
M[toutType][fonct]={ssynchro};
M[listeVar][ptvirg]={ssynchro};
M[valeur][ptvirg]={ssynchro};
M[resteListeVar][ptvirg]={ssynchro};
M[listeValeursDroites][accFerm]={ssynchro};
M[listeValeursDroites][deuxpts]={ssynchro};
M[listeValeursDroites][pf]={ssynchro};
M[resteListeValeursDroites][accFerm]={ssynchro};
M[resteListeValeursDroites][deuxpts]={ssynchro};
M[resteListeValeursDroites][pf]={ssynchro};
M[typeConst][id]={ssynchro};
M[listeConst][ptvirg]={ssynchro};
M[listeConst][accFerm]={ssynchro};
M[resteListeConst][ptvirg]={ssynchro};
M[resteListeConst][accFerm]={ssynchro};
M[typeTableau][id]={ssynchro};
M[listeIndices][ent]={ssynchro};
M[listeIndices][dec]={ssynchro};
M[listeIndices][car]={ssynchro};
M[listeIndices][motclebool]={ssynchro};
M[listeIndices][motcleEnum]={ssynchro};
M[listeIndices][arobase]={ssynchro};
M[listeIndices][classe]={ssynchro};
M[listeIndices][point]={ssynchro};
M[listeIndices][chapeau]={ssynchro};
M[listeIndices][etoile]={ssynchro};
M[listeIndices][slash]={ssynchro};
M[listeIndices][plus]={ssynchro};
M[listeIndices][moins]={ssynchro};
M[listeIndices][oprel]={ssynchro};
M[listeIndices][et]={ssynchro};
M[listeIndices][ou]={ssynchro};
M[listeIndices][ptvirg]={ssynchro};
M[listeIndices][deuxpts]={ssynchro};
M[listeIndices][accFerm]={ssynchro};
M[listeIndices][pf]={ssynchro};
M[listeIndices][cf]={ssynchro};
M[listeIndices][fin]={ssynchro};
M[listeIndices][sinonsi]={ssynchro};
M[listeIndices][sinon]={ssynchro};
M[listeIndices][tanque]={ssynchro};
M[listeIndices][refaire]={ssynchro};
M[listeIndices][fait]={ssynchro};
M[listeIndices][fsi]={ssynchro};
M[listeIndices][alors]={ssynchro};
M[listeIndices][affect]={ssynchro};
M[listeIndices][appel]={ssynchro};
M[listeIndices][si]={ssynchro};
M[listeIndices][faire]={ssynchro};
M[listeIndices][pour]={ssynchro};
M[listeIndices][jusque]={ssynchro};
M[listeIndices][pas]={ssynchro};
M[listeIndices][deuxptsEgal]={ssynchro};
M[listeIndices][depuis]={ssynchro};
M[resteListeIndices][ent]={ssynchro};
M[resteListeIndices][dec]={ssynchro};
M[resteListeIndices][car]={ssynchro};
M[resteListeIndices][motclebool]={ssynchro};
M[resteListeIndices][motcleEnum]={ssynchro};
M[resteListeIndices][arobase]={ssynchro};
M[resteListeIndices][classe]={ssynchro};
M[resteListeIndices][point]={ssynchro};
M[resteListeIndices][chapeau]={ssynchro};
M[resteListeIndices][etoile]={ssynchro};
M[resteListeIndices][slash]={ssynchro};
M[resteListeIndices][plus]={ssynchro};
M[resteListeIndices][moins]={ssynchro};
M[resteListeIndices][oprel]={ssynchro};
M[resteListeIndices][et]={ssynchro};
M[resteListeIndices][ou]={ssynchro};
M[resteListeIndices][ptvirg]={ssynchro};
M[resteListeIndices][deuxpts]={ssynchro};
M[resteListeIndices][accFerm]={ssynchro};
M[resteListeIndices][pf]={ssynchro};
M[resteListeIndices][cf]={ssynchro};
M[resteListeIndices][fin]={ssynchro};
M[resteListeIndices][sinonsi]={ssynchro};
M[resteListeIndices][sinon]={ssynchro};
M[resteListeIndices][tanque]={ssynchro};
M[resteListeIndices][refaire]={ssynchro};
M[resteListeIndices][fait]={ssynchro};
M[resteListeIndices][fsi]={ssynchro};
M[resteListeIndices][alors]={ssynchro};
M[resteListeIndices][affect]={ssynchro};
M[resteListeIndices][appel]={ssynchro};
M[resteListeIndices][si]={ssynchro};
M[resteListeIndices][faire]={ssynchro};
M[resteListeIndices][pour]={ssynchro};
M[resteListeIndices][jusque]={ssynchro};
M[resteListeIndices][pas]={ssynchro};
M[resteListeIndices][deuxptsEgal]={ssynchro};
M[resteListeIndices][depuis]={ssynchro};
M[defintionStruct][ptvirg]={ssynchro};
M[defTab][accFerm]={ssynchro};
M[defTab][deuxpts]={ssynchro};
M[listeDefTab][accFerm]={ssynchro};
M[resteListeDefTab][accFerm]={ssynchro};
M[nomproc][ptvirg]={ssynchro};
M[nomproc][accFerm]={ssynchro};
M[argument][deuxpts]={ssynchro};
M[argument][pf]={ssynchro};
M[argumentTab][id]={ssynchro};
M[listeArguments][pf]={ssynchro};
M[resteListeArguments][pf]={ssynchro};
M[nomFonction][ptvirg]={ssynchro};
M[nomFonction][accFerm]={ssynchro};
M[defproc][ptvirg]={ssynchro};
M[deffonct][ptvirg]={ssynchro};
M[declaration][ptvirg]={ssynchro};
M[paramsConstructeur][accOuv]={ssynchro};
M[paramsConstructeur][ptvirg]={ssynchro};
M[typeObj][id]={ssynchro};
M[surchargeOperateur][ptvirg]={ssynchro};
M[op][po]={ssynchro};
M[unOuDeuxArguments][pf]={ssynchro};
M[resteUnOuDeuxArguments][pf]={ssynchro};
M[declareMethode][ptvirg]={ssynchro};
M[methode][ptvirg]={ssynchro};
M[definitionEnum][ptvirg]={ssynchro};
M[typeEnum][id]={ssynchro};
M[valeurDroite][ptvirg]={ssynchro};
M[valeurDroite][deuxpts]={ssynchro};
M[valeurDroite][accFerm]={ssynchro};
M[valeurDroite][pf]={ssynchro};
M[valeurDroite][cf]={ssynchro};
M[valeurDroite][fin]={ssynchro};
M[valeurDroite][sinonsi]={ssynchro};
M[valeurDroite][sinon]={ssynchro};
M[valeurDroite][tanque]={ssynchro};
M[valeurDroite][refaire]={ssynchro};
M[valeurDroite][fait]={ssynchro};
M[valeurDroite][fsi]={ssynchro};
M[valeurDroite][alors]={ssynchro};
M[valeurDroite][affect]={ssynchro};
M[valeurDroite][appel]={ssynchro};
M[valeurDroite][si]={ssynchro};
M[valeurDroite][faire]={ssynchro};
M[valeurDroite][pour]={ssynchro};
M[resteValeurDroite][ptvirg]={ssynchro};
M[resteValeurDroite][deuxpts]={ssynchro};
M[resteValeurDroite][accFerm]={ssynchro};
M[resteValeurDroite][pf]={ssynchro};
M[resteValeurDroite][cf]={ssynchro};
M[resteValeurDroite][fin]={ssynchro};
M[resteValeurDroite][sinonsi]={ssynchro};
M[resteValeurDroite][sinon]={ssynchro};
M[resteValeurDroite][tanque]={ssynchro};
M[resteValeurDroite][refaire]={ssynchro};
M[resteValeurDroite][fait]={ssynchro};
M[resteValeurDroite][fsi]={ssynchro};
M[resteValeurDroite][alors]={ssynchro};
M[resteValeurDroite][affect]={ssynchro};
M[resteValeurDroite][appel]={ssynchro};
M[resteValeurDroite][si]={ssynchro};
M[resteValeurDroite][faire]={ssynchro};
M[resteValeurDroite][pour]={ssynchro};
M[termeBool][ou]={ssynchro};
M[termeBool][ptvirg]={ssynchro};
M[termeBool][deuxpts]={ssynchro};
M[termeBool][accFerm]={ssynchro};
M[termeBool][pf]={ssynchro};
M[termeBool][cf]={ssynchro};
M[termeBool][fin]={ssynchro};
M[termeBool][sinonsi]={ssynchro};
M[termeBool][sinon]={ssynchro};
M[termeBool][tanque]={ssynchro};
M[termeBool][refaire]={ssynchro};
M[termeBool][fait]={ssynchro};
M[termeBool][fsi]={ssynchro};
M[termeBool][alors]={ssynchro};
M[termeBool][affect]={ssynchro};
M[termeBool][appel]={ssynchro};
M[termeBool][si]={ssynchro};
M[termeBool][faire]={ssynchro};
M[termeBool][pour]={ssynchro};
M[resteTermeBool][ou]={ssynchro};
M[resteTermeBool][ptvirg]={ssynchro};
M[resteTermeBool][deuxpts]={ssynchro};
M[resteTermeBool][accFerm]={ssynchro};
M[resteTermeBool][pf]={ssynchro};
M[resteTermeBool][cf]={ssynchro};
M[resteTermeBool][fin]={ssynchro};
M[resteTermeBool][sinonsi]={ssynchro};
M[resteTermeBool][sinon]={ssynchro};
M[resteTermeBool][tanque]={ssynchro};
M[resteTermeBool][refaire]={ssynchro};
M[resteTermeBool][fait]={ssynchro};
M[resteTermeBool][fsi]={ssynchro};
M[resteTermeBool][alors]={ssynchro};
M[resteTermeBool][affect]={ssynchro};
M[resteTermeBool][appel]={ssynchro};
M[resteTermeBool][si]={ssynchro};
M[resteTermeBool][faire]={ssynchro};
M[resteTermeBool][pour]={ssynchro};
M[facteurBool][et]={ssynchro};
M[facteurBool][ou]={ssynchro};
M[facteurBool][ptvirg]={ssynchro};
M[facteurBool][deuxpts]={ssynchro};
M[facteurBool][accFerm]={ssynchro};
M[facteurBool][pf]={ssynchro};
M[facteurBool][cf]={ssynchro};
M[facteurBool][fin]={ssynchro};
M[facteurBool][sinonsi]={ssynchro};
M[facteurBool][sinon]={ssynchro};
M[facteurBool][tanque]={ssynchro};
M[facteurBool][refaire]={ssynchro};
M[facteurBool][fait]={ssynchro};
M[facteurBool][fsi]={ssynchro};
M[facteurBool][alors]={ssynchro};
M[facteurBool][affect]={ssynchro};
M[facteurBool][appel]={ssynchro};
M[facteurBool][si]={ssynchro};
M[facteurBool][faire]={ssynchro};
M[facteurBool][pour]={ssynchro};
M[relation][et]={ssynchro};
M[relation][ou]={ssynchro};
M[relation][ptvirg]={ssynchro};
M[relation][deuxpts]={ssynchro};
M[relation][accFerm]={ssynchro};
M[relation][pf]={ssynchro};
M[relation][cf]={ssynchro};
M[relation][fin]={ssynchro};
M[relation][sinonsi]={ssynchro};
M[relation][sinon]={ssynchro};
M[relation][tanque]={ssynchro};
M[relation][refaire]={ssynchro};
M[relation][fait]={ssynchro};
M[relation][fsi]={ssynchro};
M[relation][alors]={ssynchro};
M[relation][affect]={ssynchro};
M[relation][appel]={ssynchro};
M[relation][si]={ssynchro};
M[relation][faire]={ssynchro};
M[relation][pour]={ssynchro};
M[expression][oprel]={ssynchro};
M[expression][et]={ssynchro};
M[expression][ou]={ssynchro};
M[expression][ptvirg]={ssynchro};
M[expression][deuxpts]={ssynchro};
M[expression][accFerm]={ssynchro};
M[expression][pf]={ssynchro};
M[expression][cf]={ssynchro};
M[expression][fin]={ssynchro};
M[expression][sinonsi]={ssynchro};
M[expression][sinon]={ssynchro};
M[expression][tanque]={ssynchro};
M[expression][refaire]={ssynchro};
M[expression][fait]={ssynchro};
M[expression][fsi]={ssynchro};
M[expression][alors]={ssynchro};
M[expression][affect]={ssynchro};
M[expression][appel]={ssynchro};
M[expression][si]={ssynchro};
M[expression][faire]={ssynchro};
M[expression][pour]={ssynchro};
M[expression][jusque]={ssynchro};
M[expression][pas]={ssynchro};
M[resteTerme][oprel]={ssynchro};
M[resteTerme][et]={ssynchro};
M[resteTerme][ou]={ssynchro};
M[resteTerme][ptvirg]={ssynchro};
M[resteTerme][deuxpts]={ssynchro};
M[resteTerme][accFerm]={ssynchro};
M[resteTerme][pf]={ssynchro};
M[resteTerme][cf]={ssynchro};
M[resteTerme][fin]={ssynchro};
M[resteTerme][sinonsi]={ssynchro};
M[resteTerme][sinon]={ssynchro};
M[resteTerme][tanque]={ssynchro};
M[resteTerme][refaire]={ssynchro};
M[resteTerme][fait]={ssynchro};
M[resteTerme][fsi]={ssynchro};
M[resteTerme][alors]={ssynchro};
M[resteTerme][affect]={ssynchro};
M[resteTerme][appel]={ssynchro};
M[resteTerme][si]={ssynchro};
M[resteTerme][faire]={ssynchro};
M[resteTerme][pour]={ssynchro};
M[resteTerme][jusque]={ssynchro};
M[resteTerme][pas]={ssynchro};
M[terme][plus]={ssynchro};
M[terme][moins]={ssynchro};
M[terme][oprel]={ssynchro};
M[terme][et]={ssynchro};
M[terme][ou]={ssynchro};
M[terme][ptvirg]={ssynchro};
M[terme][deuxpts]={ssynchro};
M[terme][accFerm]={ssynchro};
M[terme][pf]={ssynchro};
M[terme][cf]={ssynchro};
M[terme][fin]={ssynchro};
M[terme][sinonsi]={ssynchro};
M[terme][sinon]={ssynchro};
M[terme][tanque]={ssynchro};
M[terme][refaire]={ssynchro};
M[terme][fait]={ssynchro};
M[terme][fsi]={ssynchro};
M[terme][alors]={ssynchro};
M[terme][affect]={ssynchro};
M[terme][appel]={ssynchro};
M[terme][si]={ssynchro};
M[terme][faire]={ssynchro};
M[terme][pour]={ssynchro};
M[terme][jusque]={ssynchro};
M[terme][pas]={ssynchro};
M[resteFacteur][plus]={ssynchro};
M[resteFacteur][moins]={ssynchro};
M[resteFacteur][oprel]={ssynchro};
M[resteFacteur][et]={ssynchro};
M[resteFacteur][ou]={ssynchro};
M[resteFacteur][ptvirg]={ssynchro};
M[resteFacteur][deuxpts]={ssynchro};
M[resteFacteur][accFerm]={ssynchro};
M[resteFacteur][pf]={ssynchro};
M[resteFacteur][cf]={ssynchro};
M[resteFacteur][fin]={ssynchro};
M[resteFacteur][sinonsi]={ssynchro};
M[resteFacteur][sinon]={ssynchro};
M[resteFacteur][tanque]={ssynchro};
M[resteFacteur][refaire]={ssynchro};
M[resteFacteur][fait]={ssynchro};
M[resteFacteur][fsi]={ssynchro};
M[resteFacteur][alors]={ssynchro};
M[resteFacteur][affect]={ssynchro};
M[resteFacteur][appel]={ssynchro};
M[resteFacteur][si]={ssynchro};
M[resteFacteur][faire]={ssynchro};
M[resteFacteur][pour]={ssynchro};
M[resteFacteur][jusque]={ssynchro};
M[resteFacteur][pas]={ssynchro};
M[facteur][etoile]={ssynchro};
M[facteur][slash]={ssynchro};
M[facteur][plus]={ssynchro};
M[facteur][moins]={ssynchro};
M[facteur][oprel]={ssynchro};
M[facteur][et]={ssynchro};
M[facteur][ou]={ssynchro};
M[facteur][ptvirg]={ssynchro};
M[facteur][deuxpts]={ssynchro};
M[facteur][accFerm]={ssynchro};
M[facteur][pf]={ssynchro};
M[facteur][cf]={ssynchro};
M[facteur][fin]={ssynchro};
M[facteur][sinonsi]={ssynchro};
M[facteur][sinon]={ssynchro};
M[facteur][tanque]={ssynchro};
M[facteur][refaire]={ssynchro};
M[facteur][fait]={ssynchro};
M[facteur][fsi]={ssynchro};
M[facteur][alors]={ssynchro};
M[facteur][affect]={ssynchro};
M[facteur][appel]={ssynchro};
M[facteur][si]={ssynchro};
M[facteur][faire]={ssynchro};
M[facteur][pour]={ssynchro};
M[facteur][jusque]={ssynchro};
M[facteur][pas]={ssynchro};
M[P][etoile]={ssynchro};
M[P][slash]={ssynchro};
M[P][plus]={ssynchro};
M[P][moins]={ssynchro};
M[P][oprel]={ssynchro};
M[P][et]={ssynchro};
M[P][ou]={ssynchro};
M[P][ptvirg]={ssynchro};
M[P][deuxpts]={ssynchro};
M[P][accFerm]={ssynchro};
M[P][pf]={ssynchro};
M[P][cf]={ssynchro};
M[P][fin]={ssynchro};
M[P][sinonsi]={ssynchro};
M[P][sinon]={ssynchro};
M[P][tanque]={ssynchro};
M[P][refaire]={ssynchro};
M[P][fait]={ssynchro};
M[P][fsi]={ssynchro};
M[P][alors]={ssynchro};
M[P][affect]={ssynchro};
M[P][appel]={ssynchro};
M[P][si]={ssynchro};
M[P][faire]={ssynchro};
M[P][pour]={ssynchro};
M[P][jusque]={ssynchro};
M[P][pas]={ssynchro};
M[groupeId][chapeau]={ssynchro};
M[groupeId][etoile]={ssynchro};
M[groupeId][slash]={ssynchro};
M[groupeId][plus]={ssynchro};
M[groupeId][moins]={ssynchro};
M[groupeId][oprel]={ssynchro};
M[groupeId][et]={ssynchro};
M[groupeId][ou]={ssynchro};
M[groupeId][ptvirg]={ssynchro};
M[groupeId][deuxpts]={ssynchro};
M[groupeId][accFerm]={ssynchro};
M[groupeId][pf]={ssynchro};
M[groupeId][cf]={ssynchro};
M[groupeId][fin]={ssynchro};
M[groupeId][sinonsi]={ssynchro};
M[groupeId][sinon]={ssynchro};
M[groupeId][tanque]={ssynchro};
M[groupeId][refaire]={ssynchro};
M[groupeId][fait]={ssynchro};
M[groupeId][fsi]={ssynchro};
M[groupeId][alors]={ssynchro};
M[groupeId][affect]={ssynchro};
M[groupeId][appel]={ssynchro};
M[groupeId][si]={ssynchro};
M[groupeId][faire]={ssynchro};
M[groupeId][pour]={ssynchro};
M[groupeId][jusque]={ssynchro};
M[groupeId][pas]={ssynchro};
M[apresId][chapeau]={ssynchro};
M[apresId][etoile]={ssynchro};
M[apresId][slash]={ssynchro};
M[apresId][plus]={ssynchro};
M[apresId][moins]={ssynchro};
M[apresId][oprel]={ssynchro};
M[apresId][et]={ssynchro};
M[apresId][ou]={ssynchro};
M[apresId][ptvirg]={ssynchro};
M[apresId][deuxpts]={ssynchro};
M[apresId][accFerm]={ssynchro};
M[apresId][pf]={ssynchro};
M[apresId][cf]={ssynchro};
M[apresId][fin]={ssynchro};
M[apresId][sinonsi]={ssynchro};
M[apresId][sinon]={ssynchro};
M[apresId][tanque]={ssynchro};
M[apresId][refaire]={ssynchro};
M[apresId][fait]={ssynchro};
M[apresId][fsi]={ssynchro};
M[apresId][alors]={ssynchro};
M[apresId][affect]={ssynchro};
M[apresId][appel]={ssynchro};
M[apresId][si]={ssynchro};
M[apresId][faire]={ssynchro};
M[apresId][pour]={ssynchro};
M[apresId][jusque]={ssynchro};
M[apresId][pas]={ssynchro};
M[apresIndices][chapeau]={ssynchro};
M[apresIndices][etoile]={ssynchro};
M[apresIndices][slash]={ssynchro};
M[apresIndices][plus]={ssynchro};
M[apresIndices][moins]={ssynchro};
M[apresIndices][oprel]={ssynchro};
M[apresIndices][et]={ssynchro};
M[apresIndices][ou]={ssynchro};
M[apresIndices][ptvirg]={ssynchro};
M[apresIndices][deuxpts]={ssynchro};
M[apresIndices][accFerm]={ssynchro};
M[apresIndices][pf]={ssynchro};
M[apresIndices][cf]={ssynchro};
M[apresIndices][fin]={ssynchro};
M[apresIndices][sinonsi]={ssynchro};
M[apresIndices][sinon]={ssynchro};
M[apresIndices][tanque]={ssynchro};
M[apresIndices][refaire]={ssynchro};
M[apresIndices][fait]={ssynchro};
M[apresIndices][fsi]={ssynchro};
M[apresIndices][alors]={ssynchro};
M[apresIndices][affect]={ssynchro};
M[apresIndices][appel]={ssynchro};
M[apresIndices][si]={ssynchro};
M[apresIndices][faire]={ssynchro};
M[apresIndices][pour]={ssynchro};
M[apresIndices][jusque]={ssynchro};
M[apresIndices][pas]={ssynchro};
M[apresParentheses][chapeau]={ssynchro};
M[apresParentheses][etoile]={ssynchro};
M[apresParentheses][slash]={ssynchro};
M[apresParentheses][plus]={ssynchro};
M[apresParentheses][moins]={ssynchro};
M[apresParentheses][oprel]={ssynchro};
M[apresParentheses][et]={ssynchro};
M[apresParentheses][ou]={ssynchro};
M[apresParentheses][ptvirg]={ssynchro};
M[apresParentheses][deuxpts]={ssynchro};
M[apresParentheses][accFerm]={ssynchro};
M[apresParentheses][pf]={ssynchro};
M[apresParentheses][cf]={ssynchro};
M[apresParentheses][fin]={ssynchro};
M[apresParentheses][sinonsi]={ssynchro};
M[apresParentheses][sinon]={ssynchro};
M[apresParentheses][tanque]={ssynchro};
M[apresParentheses][refaire]={ssynchro};
M[apresParentheses][fait]={ssynchro};
M[apresParentheses][fsi]={ssynchro};
M[apresParentheses][alors]={ssynchro};
M[apresParentheses][affect]={ssynchro};
M[apresParentheses][appel]={ssynchro};
M[apresParentheses][si]={ssynchro};
M[apresParentheses][faire]={ssynchro};
M[apresParentheses][pour]={ssynchro};
M[apresParentheses][jusque]={ssynchro};
M[apresParentheses][pas]={ssynchro};
M[apresArobase][chapeau]={ssynchro};
M[apresArobase][etoile]={ssynchro};
M[apresArobase][slash]={ssynchro};
M[apresArobase][plus]={ssynchro};
M[apresArobase][moins]={ssynchro};
M[apresArobase][oprel]={ssynchro};
M[apresArobase][et]={ssynchro};
M[apresArobase][ou]={ssynchro};
M[apresArobase][ptvirg]={ssynchro};
M[apresArobase][deuxpts]={ssynchro};
M[apresArobase][accFerm]={ssynchro};
M[apresArobase][pf]={ssynchro};
M[apresArobase][cf]={ssynchro};
M[apresArobase][fin]={ssynchro};
M[apresArobase][sinonsi]={ssynchro};
M[apresArobase][sinon]={ssynchro};
M[apresArobase][tanque]={ssynchro};
M[apresArobase][refaire]={ssynchro};
M[apresArobase][fait]={ssynchro};
M[apresArobase][fsi]={ssynchro};
M[apresArobase][alors]={ssynchro};
M[apresArobase][affect]={ssynchro};
M[apresArobase][appel]={ssynchro};
M[apresArobase][si]={ssynchro};
M[apresArobase][faire]={ssynchro};
M[apresArobase][pour]={ssynchro};
M[apresArobase][jusque]={ssynchro};
M[apresArobase][pas]={ssynchro};
M[corpsopt][fin]={ssynchro};
M[corps][fin]={ssynchro};
M[sequence][fin]={ssynchro};
M[sequence][sinonsi]={ssynchro};
M[sequence][sinon]={ssynchro};
M[sequence][tanque]={ssynchro};
M[sequence][refaire]={ssynchro};
M[sequence][fait]={ssynchro};
M[sequence][fsi]={ssynchro};
M[resteSequence][fin]={ssynchro};
M[resteSequence][sinonsi]={ssynchro};
M[resteSequence][sinon]={ssynchro};
M[resteSequence][tanque]={ssynchro};
M[resteSequence][refaire]={ssynchro};
M[resteSequence][fait]={ssynchro};
M[resteSequence][fsi]={ssynchro};
M[instr][ptvirg]={ssynchro};
M[instr][fin]={ssynchro};
M[instr][sinonsi]={ssynchro};
M[instr][sinon]={ssynchro};
M[instr][tanque]={ssynchro};
M[instr][refaire]={ssynchro};
M[instr][fait]={ssynchro};
M[instr][fsi]={ssynchro};
M[resteSi][fsi]={ssynchro};
M[listeValeursGauches][pf]={ssynchro};
M[resteListeValeurGauche][pf]={ssynchro};
M[valeurGauche][plus]={ssynchro};
M[valeurGauche][moins]={ssynchro};
M[valeurGauche][oprel]={ssynchro};
M[valeurGauche][et]={ssynchro};
M[valeurGauche][ou]={ssynchro};
M[valeurGauche][ptvirg]={ssynchro};
M[valeurGauche][deuxpts]={ssynchro};
M[valeurGauche][accFerm]={ssynchro};
M[valeurGauche][pf]={ssynchro};
M[valeurGauche][cf]={ssynchro};
M[valeurGauche][fin]={ssynchro};
M[valeurGauche][sinonsi]={ssynchro};
M[valeurGauche][sinon]={ssynchro};
M[valeurGauche][tanque]={ssynchro};
M[valeurGauche][refaire]={ssynchro};
M[valeurGauche][fait]={ssynchro};
M[valeurGauche][fsi]={ssynchro};
M[valeurGauche][alors]={ssynchro};
M[valeurGauche][affect]={ssynchro};
M[valeurGauche][appel]={ssynchro};
M[valeurGauche][si]={ssynchro};
M[valeurGauche][faire]={ssynchro};
M[valeurGauche][pour]={ssynchro};
M[valeurGauche][jusque]={ssynchro};
M[valeurGauche][pas]={ssynchro};
M[valeurGauche][deuxptsEgal]={ssynchro};
M[valeurGauche][depuis]={ssynchro};
M[apresIdGauche][plus]={ssynchro};
M[apresIdGauche][moins]={ssynchro};
M[apresIdGauche][oprel]={ssynchro};
M[apresIdGauche][et]={ssynchro};
M[apresIdGauche][ou]={ssynchro};
M[apresIdGauche][ptvirg]={ssynchro};
M[apresIdGauche][deuxpts]={ssynchro};
M[apresIdGauche][accFerm]={ssynchro};
M[apresIdGauche][pf]={ssynchro};
M[apresIdGauche][cf]={ssynchro};
M[apresIdGauche][fin]={ssynchro};
M[apresIdGauche][sinonsi]={ssynchro};
M[apresIdGauche][sinon]={ssynchro};
M[apresIdGauche][tanque]={ssynchro};
M[apresIdGauche][refaire]={ssynchro};
M[apresIdGauche][fait]={ssynchro};
M[apresIdGauche][fsi]={ssynchro};
M[apresIdGauche][alors]={ssynchro};
M[apresIdGauche][affect]={ssynchro};
M[apresIdGauche][appel]={ssynchro};
M[apresIdGauche][si]={ssynchro};
M[apresIdGauche][faire]={ssynchro};
M[apresIdGauche][pour]={ssynchro};
M[apresIdGauche][jusque]={ssynchro};
M[apresIdGauche][pas]={ssynchro};
M[apresIdGauche][deuxptsEgal]={ssynchro};
M[apresIdGauche][depuis]={ssynchro};
M[apresIndicesGauche][plus]={ssynchro};
M[apresIndicesGauche][moins]={ssynchro};
M[apresIndicesGauche][oprel]={ssynchro};
M[apresIndicesGauche][et]={ssynchro};
M[apresIndicesGauche][ou]={ssynchro};
M[apresIndicesGauche][ptvirg]={ssynchro};
M[apresIndicesGauche][deuxpts]={ssynchro};
M[apresIndicesGauche][accFerm]={ssynchro};
M[apresIndicesGauche][pf]={ssynchro};
M[apresIndicesGauche][cf]={ssynchro};
M[apresIndicesGauche][fin]={ssynchro};
M[apresIndicesGauche][sinonsi]={ssynchro};
M[apresIndicesGauche][sinon]={ssynchro};
M[apresIndicesGauche][tanque]={ssynchro};
M[apresIndicesGauche][refaire]={ssynchro};
M[apresIndicesGauche][fait]={ssynchro};
M[apresIndicesGauche][fsi]={ssynchro};
M[apresIndicesGauche][alors]={ssynchro};
M[apresIndicesGauche][affect]={ssynchro};
M[apresIndicesGauche][appel]={ssynchro};
M[apresIndicesGauche][si]={ssynchro};
M[apresIndicesGauche][faire]={ssynchro};
M[apresIndicesGauche][pour]={ssynchro};
M[apresIndicesGauche][jusque]={ssynchro};
M[apresIndicesGauche][pas]={ssynchro};
M[apresIndicesGauche][deuxptsEgal]={ssynchro};
M[apresIndicesGauche][depuis]={ssynchro};
M[apresParenthesesGauche][plus]={ssynchro};
M[apresParenthesesGauche][moins]={ssynchro};
M[apresParenthesesGauche][oprel]={ssynchro};
M[apresParenthesesGauche][et]={ssynchro};
M[apresParenthesesGauche][ou]={ssynchro};
M[apresParenthesesGauche][ptvirg]={ssynchro};
M[apresParenthesesGauche][deuxpts]={ssynchro};
M[apresParenthesesGauche][accFerm]={ssynchro};
M[apresParenthesesGauche][pf]={ssynchro};
M[apresParenthesesGauche][cf]={ssynchro};
M[apresParenthesesGauche][fin]={ssynchro};
M[apresParenthesesGauche][sinonsi]={ssynchro};
M[apresParenthesesGauche][sinon]={ssynchro};
M[apresParenthesesGauche][tanque]={ssynchro};
M[apresParenthesesGauche][refaire]={ssynchro};
M[apresParenthesesGauche][fait]={ssynchro};
M[apresParenthesesGauche][fsi]={ssynchro};
M[apresParenthesesGauche][alors]={ssynchro};
M[apresParenthesesGauche][affect]={ssynchro};
M[apresParenthesesGauche][appel]={ssynchro};
M[apresParenthesesGauche][si]={ssynchro};
M[apresParenthesesGauche][faire]={ssynchro};
M[apresParenthesesGauche][pour]={ssynchro};
M[apresParenthesesGauche][jusque]={ssynchro};
M[apresParenthesesGauche][pas]={ssynchro};
M[apresParenthesesGauche][deuxptsEgal]={ssynchro};
M[apresParenthesesGauche][depuis]={ssynchro};
M[apresArobaseGauche][plus]={ssynchro};
M[apresArobaseGauche][moins]={ssynchro};
M[apresArobaseGauche][oprel]={ssynchro};
M[apresArobaseGauche][et]={ssynchro};
M[apresArobaseGauche][ou]={ssynchro};
M[apresArobaseGauche][ptvirg]={ssynchro};
M[apresArobaseGauche][deuxpts]={ssynchro};
M[apresArobaseGauche][accFerm]={ssynchro};
M[apresArobaseGauche][pf]={ssynchro};
M[apresArobaseGauche][cf]={ssynchro};
M[apresArobaseGauche][fin]={ssynchro};
M[apresArobaseGauche][sinonsi]={ssynchro};
M[apresArobaseGauche][sinon]={ssynchro};
M[apresArobaseGauche][tanque]={ssynchro};
M[apresArobaseGauche][refaire]={ssynchro};
M[apresArobaseGauche][fait]={ssynchro};
M[apresArobaseGauche][fsi]={ssynchro};
M[apresArobaseGauche][alors]={ssynchro};
M[apresArobaseGauche][affect]={ssynchro};
M[apresArobaseGauche][appel]={ssynchro};
M[apresArobaseGauche][si]={ssynchro};
M[apresArobaseGauche][faire]={ssynchro};
M[apresArobaseGauche][pour]={ssynchro};
M[apresArobaseGauche][jusque]={ssynchro};
M[apresArobaseGauche][pas]={ssynchro};
M[apresArobaseGauche][deuxptsEgal]={ssynchro};
M[apresArobaseGauche][depuis]={ssynchro};
M[programme][prog]={sprog,sid,sresteProg};
M[resteProg][abstr]={sdeclareGlobales,sptvirg,
sresteProg};
M[resteProg][defclasse]={sdeclareGlobales,sptvirg,
sresteProg};
M[resteProg][constr]={sdeclareGlobales,sptvirg,
sresteProg};
M[resteProg][destr]={sdeclareGlobales,sptvirg,
sresteProg};
M[resteProg][proc]={sdeclareGlobales,sptvirg,
sresteProg};
M[resteProg][co]={sdeclareGlobales,sptvirg,
sresteProg};
M[resteProg][ent]={sdeclareGlobales,sptvirg,
sresteProg};
M[resteProg][dec]={sdeclareGlobales,sptvirg,
sresteProg};
M[resteProg][car]={sdeclareGlobales,sptvirg,
sresteProg};
M[resteProg][motclebool]={sdeclareGlobales,sptvirg,
sresteProg};
M[resteProg][motcleEnum]={sdeclareGlobales,sptvirg,
sresteProg};
M[resteProg][arobase]={sdeclareGlobales,sptvirg,
sresteProg};
M[resteProg][classe]={sdeclareGlobales,sptvirg,
sresteProg};
M[resteProg][var]={sdeclareGlobales,sptvirg,
sresteProg};
M[resteProg][motcleconst]={sdeclareGlobales,sptvirg,
sresteProg};
M[resteProg][tab]={sdeclareGlobales,sptvirg,
sresteProg};
M[resteProg][obj]={sdeclareGlobales,sptvirg,
sresteProg};
M[resteProg][operateur]={sdeclareGlobales,sptvirg,
sresteProg};
M[resteProg][meth]={sdeclareGlobales,sptvirg,
sresteProg};
M[resteProg][defEnum]={sdeclareGlobales,sptvirg,
sresteProg};
M[resteProg][debut]={sdebut,scorpsopt,
sfin};
M[declareGlobales][abstr]={sdefinitionclasse};
M[declareGlobales][defclasse]={sdefinitionclasse};
M[declareGlobales][constr]={sconstructeur};
M[declareGlobales][destr]={sdestructeur};
M[declareGlobales][proc]={sdefproc};
M[declareGlobales][co]={sdeffonct};
M[declareGlobales][ent]={sdeffonct};
M[declareGlobales][dec]={sdeffonct};
M[declareGlobales][car]={sdeffonct};
M[declareGlobales][motclebool]={sdeffonct};
M[declareGlobales][motcleEnum]={sdeffonct};
M[declareGlobales][arobase]={sdeffonct};
M[declareGlobales][classe]={sdeffonct};
M[declareGlobales][var]={sdeclaration};
M[declareGlobales][motcleconst]={sdeclaration};
M[declareGlobales][tab]={sdeclaration};
M[declareGlobales][obj]={sdeclaration};
M[declareGlobales][operateur]={ssurchargeOperateur};
M[declareGlobales][meth]={sdeclareMethode};
M[declareGlobales][defEnum]={sdefinitionEnum};
M[definitionclasse][abstr]={sabstr,sdefclasse,
sid,sheritage,saccOuv,slistemembres,
saccFerm};
M[definitionclasse][defclasse]={sdefclasse,sid,
sheritage,saccOuv,slistemembres,
saccFerm};
M[typeClasse][classe]={sclasse,sid};
M[heritage][herite]={sherite,slisteId};
M[heritage][accOuv]={sepsilon};
M[listeId][id]={sid,sresteListeId};
M[resteListeId][deuxPts]={sdeuxPts,sid,
sresteListeId};
M[resteListeId][accOuv]={sepsilon};
M[resteListeId][ptvirg]={sepsilon};
M[resteListeId][accFerm]={sepsilon};
M[constructeur][constr]={sconstr,sid,
slisteArgumentsopt,sdebut,scorpsopt,
sfin};
M[destructeur][destr]={sdestr,sid,sdebut,
scorpsopt,sfin};
M[listeArgumentsopt][po]={spo,slisteArguments,
spf};
M[listeArgumentsopt][debut]={sepsilon};
M[listemembres][var]={sdeclareObj,sresteListeMembre};
M[listemembres][motcleconst]={sdeclareObj,
sresteListeMembre};
M[listemembres][tab]={sdeclareObj,sresteListeMembre};
M[listemembres][classe]={sdeclareObj,sresteListeMembre};
M[listemembres][proc]={sdeclareObj,sresteListeMembre};
M[listemembres][co]={sdeclareObj,sresteListeMembre};
M[listemembres][ent]={sdeclareObj,sresteListeMembre};
M[listemembres][dec]={sdeclareObj,sresteListeMembre};
M[listemembres][car]={sdeclareObj,sresteListeMembre};
M[listemembres][motclebool]={sdeclareObj,
sresteListeMembre};
M[listemembres][motcleEnum]={sdeclareObj,
sresteListeMembre};
M[listemembres][arobase]={sdeclareObj,sresteListeMembre};
M[listemembres][accFerm]={sepsilon};
M[resteListeMembre][ptvirg]={sptvirg,sdeclareObj,
sresteListeMembre};
M[resteListeMembre][accFerm]={sepsilon};
M[declareObj][var]={stypeVar,slisteId};
M[declareObj][motcleconst]={stypeConst,slisteConst};
M[declareObj][tab]={stypeTableau,slisteId};
M[declareObj][classe]={stypeClasse,slisteId};
M[declareObj][classe]={snomFonction};
M[declareObj][proc]={snomproc};
M[declareObj][co]={snomFonction};
M[declareObj][ent]={snomFonction};
M[declareObj][dec]={snomFonction};
M[declareObj][car]={snomFonction};
M[declareObj][motclebool]={snomFonction};
M[declareObj][motcleEnum]={snomFonction};
M[declareObj][arobase]={snomFonction};
M[typeVar][var]={svar,stypeSimple};
M[typeSimple][ent]={sent};
M[typeSimple][dec]={sdec};
M[typeSimple][car]={scar};
M[typeSimple][motclebool]={smotclebool};
M[typeSimple][motcleEnum]={stypeEnum};
M[typeSimple][arobase]={sarobase,stoutType};
M[toutType][ent]={stypeSimple};
M[toutType][dec]={stypeSimple};
M[toutType][car]={stypeSimple};
M[toutType][motclebool]={stypeSimple};
M[toutType][motcleEnum]={stypeSimple};
M[toutType][arobase]={stypeSimple};
M[toutType][classe]={stypeClasse};
M[listeVar][id]={sid,svaleur,sresteListeVar};
M[valeur][deuxptsEgal]={sdeuxptsEgal,svaleurDroite};
M[valeur][ptvirg]={sepsilon};
M[resteListeVar][ptvirg]={sptvirg,sid,svaleur,
sresteListeVar};
M[resteListeVar][ptvirg]={sepsilon};
M[listeValeursDroites][non]={svaleurDroite,
sresteListeValeursDroites};
M[listeValeursDroites][valbool]={svaleurDroite,
sresteListeValeursDroites};
M[listeValeursDroites][caractere]={svaleurDroite,
sresteListeValeursDroites};
M[listeValeursDroites][adresse]={svaleurDroite,
sresteListeValeursDroites};
M[listeValeursDroites][arobase]={svaleurDroite,
sresteListeValeursDroites};
M[listeValeursDroites][litteral]={svaleurDroite,
sresteListeValeursDroites};
M[listeValeursDroites][moins]={svaleurDroite,
sresteListeValeursDroites};
M[listeValeursDroites][po]={svaleurDroite,
sresteListeValeursDroites};
M[listeValeursDroites][id]={svaleurDroite,
sresteListeValeursDroites};
M[listeValeursDroites][entier]={svaleurDroite,
sresteListeValeursDroites};
M[listeValeursDroites][decimal]={svaleurDroite,
sresteListeValeursDroites};
M[resteListeValeursDroites][deuxpts]={sdeuxpts,
svaleurDroite};
M[typeConst][motcleconst]={smotcleconst,stypeSimple};
M[listeConst][id]={sid,sdeuxptsEgal,
svaleurDroite,sresteListeConst};
M[resteListeConst][deuxpts]={sdeuxpts,sid,
sdeuxptsEgal,svaleurDroite,sresteListeConst};
M[resteListeConst][ptvirg]={sepsilon};
M[resteListeConst][accFerm]={sepsilon};
M[typeTableau][tab]={stab,slisteIndices,
stoutType};
M[listeIndices][co]={sco,svaleurDroite,scf,
sresteListeIndices};
M[resteListeIndices][co]={sco,svaleurDroite,scf,
sresteListeIndices};
M[resteListeIndices][ent]={sepsilon};
M[resteListeIndices][dec]={sepsilon};
M[resteListeIndices][car]={sepsilon};
M[resteListeIndices][motclebool]={sepsilon};
M[resteListeIndices][motcleEnum]={sepsilon};
M[resteListeIndices][arobase]={sepsilon};
M[resteListeIndices][classe]={sepsilon};
M[resteListeIndices][point]={sepsilon};
M[resteListeIndices][chapeau]={sepsilon};
M[resteListeIndices][etoile]={sepsilon};
M[resteListeIndices][slash]={sepsilon};
M[resteListeIndices][plus]={sepsilon};
M[resteListeIndices][moins]={sepsilon};
M[resteListeIndices][oprel]={sepsilon};
M[resteListeIndices][et]={sepsilon};
M[resteListeIndices][ou]={sepsilon};
M[resteListeIndices][ptvirg]={sepsilon};
M[resteListeIndices][deuxpts]={sepsilon};
M[resteListeIndices][accFerm]={sepsilon};
M[resteListeIndices][pf]={sepsilon};
M[resteListeIndices][cf]={sepsilon};
M[resteListeIndices][fin]={sepsilon};
M[resteListeIndices][sinonsi]={sepsilon};
M[resteListeIndices][sinon]={sepsilon};
M[resteListeIndices][tanque]={sepsilon};
M[resteListeIndices][refaire]={sepsilon};
M[resteListeIndices][fait]={sepsilon};
M[resteListeIndices][fsi]={sepsilon};
M[resteListeIndices][alors]={sepsilon};
M[resteListeIndices][affect]={sepsilon};
M[resteListeIndices][appel]={sepsilon};
M[resteListeIndices][si]={sepsilon};
M[resteListeIndices][faire]={sepsilon};
M[resteListeIndices][pour]={sepsilon};
M[resteListeIndices][jusque]={sepsilon};
M[resteListeIndices][pas]={sepsilon};
M[resteListeIndices][deuxptsEgal]={sepsilon};
M[resteListeIndices][depuis]={sepsilon};
M[defintionStruct][accOuv]={saccOuv,sdefTab,
saccFerm};
M[defintionStruct][ptvirg]={sepsilon};
M[defTab][non]={slisteValeursDroites};
M[defTab][valbool]={slisteValeursDroites};
M[defTab][caractere]={slisteValeursDroites};
M[defTab][adresse]={slisteValeursDroites};
M[defTab][arobase]={slisteValeursDroites};
M[defTab][litteral]={slisteValeursDroites};
M[defTab][moins]={slisteValeursDroites};
M[defTab][po]={slisteValeursDroites};
M[defTab][id]={slisteValeursDroites};
M[defTab][entier]={slisteValeursDroites};
M[defTab][decimal]={slisteValeursDroites};
M[defTab][accOuv]={saccOuv,slisteDefTab,
saccFerm};
M[listeDefTab][non]={sdefTab,sresteListeDefTab};
M[listeDefTab][valbool]={sdefTab,sresteListeDefTab};
M[listeDefTab][caractere]={sdefTab,sresteListeDefTab};
M[listeDefTab][adresse]={sdefTab,sresteListeDefTab};
M[listeDefTab][arobase]={sdefTab,sresteListeDefTab};
M[listeDefTab][litteral]={sdefTab,sresteListeDefTab};
M[listeDefTab][moins]={sdefTab,sresteListeDefTab};
M[listeDefTab][po]={sdefTab,sresteListeDefTab};
M[listeDefTab][id]={sdefTab,sresteListeDefTab};
M[listeDefTab][entier]={sdefTab,sresteListeDefTab};
M[listeDefTab][decimal]={sdefTab,sresteListeDefTab};
M[listeDefTab][accOuv]={sdefTab,sresteListeDefTab};
M[resteListeDefTab][deuxpts]={sdeuxpts,sdefTab,
sresteListeDefTab};
M[nomproc][proc]={sproc,sid,sfix,spo,
slisteArguments,spf,smod,spo,
slisteArguments,spf};
M[argument][ent]={stoutType,sid};
M[argument][dec]={stoutType,sid};
M[argument][car]={stoutType,sid};
M[argument][motclebool]={stoutType,sid};
M[argument][motcleEnum]={stoutType,sid};
M[argument][arobase]={stoutType,sid};
M[argument][classe]={stoutType,sid};
M[argument][co]={sco,scf,sargumentTab,
sid};
M[argumentTab][co]={sco,svaleurDroite,scf,
sargumentTab};
M[argumentTab][id]={sepsilon};
M[listeArguments][ent]={sargument,sresteListeArguments};
M[listeArguments][dec]={sargument,sresteListeArguments};
M[listeArguments][car]={sargument,sresteListeArguments};
M[listeArguments][motclebool]={sargument,
sresteListeArguments};
M[listeArguments][motcleEnum]={sargument,
sresteListeArguments};
M[listeArguments][arobase]={sargument,
sresteListeArguments};
M[listeArguments][classe]={sargument,
sresteListeArguments};
M[listeArguments][co]={sargument,sresteListeArguments};
M[resteListeArguments][deuxpts]={sdeuxpts,sargument,
sresteListeArguments};
M[resteListeArguments][pf]={sepsilon};
M[nomFonction][co]={slisteIndices,stoutType,
sfonct,sid,sfix,spo,
slisteArguments,spf};
M[nomFonction][ent]={stoutType,sfonct,sid,
sfix,spo,slisteArguments,spf};
M[nomFonction][dec]={stoutType,sfonct,sid,
sfix,spo,slisteArguments,spf};
M[nomFonction][car]={stoutType,sfonct,sid,
sfix,spo,slisteArguments,spf};
M[nomFonction][motclebool]={stoutType,sfonct,sid,
sfix,spo,slisteArguments,spf};
M[nomFonction][motcleEnum]={stoutType,sfonct,sid,
sfix,spo,slisteArguments,spf};
M[nomFonction][arobase]={stoutType,sfonct,sid,
sfix,spo,slisteArguments,spf};
M[nomFonction][classe]={stoutType,sfonct,sid,
sfix,spo,slisteArguments,spf};
M[defproc][proc]={sproc,sid,sfix,spo,
slisteArguments,spf,smod,spo,
slisteArguments,spf,sdebut,scorpsopt,
sfin};
M[deffonct][co]={sco,svaleurDroite,scf,
stoutType,sfonct,sfix,spo,
slisteArguments,spf,sdebut,scorpsopt,
sfin};
M[deffonct][ent]={stoutType,sfonct,sfix,
spo,slisteArguments,spf,sdebut,
scorpsopt,sfin};
M[deffonct][dec]={stoutType,sfonct,sfix,
spo,slisteArguments,spf,sdebut,
scorpsopt,sfin};
M[deffonct][car]={stoutType,sfonct,sfix,
spo,slisteArguments,spf,sdebut,
scorpsopt,sfin};
M[deffonct][motclebool]={stoutType,sfonct,sfix,
spo,slisteArguments,spf,sdebut,
scorpsopt,sfin};
M[deffonct][motcleEnum]={stoutType,sfonct,sfix,
spo,slisteArguments,spf,sdebut,
scorpsopt,sfin};
M[deffonct][arobase]={stoutType,sfonct,sfix,
spo,slisteArguments,spf,sdebut,
scorpsopt,sfin};
M[deffonct][classe]={stoutType,sfonct,sfix,
spo,slisteArguments,spf,sdebut,
scorpsopt,sfin};
M[declaration][var]={stypeVar,slisteVar};
M[declaration][motcleconst]={stypeConst,slisteConst};
M[declaration][tab]={stypeTableau,sid,
sdefintionStruct};
M[declaration][obj]={stypeObj,sid,
sparamsConstructeur,sdefintionStruct};
M[paramsConstructeur][po]={spo,slisteValeursDroites,
spf};
M[paramsConstructeur][accOuv]={sepsilon};
M[paramsConstructeur][ptvirg]={sepsilon};
M[typeObj][obj]={sobj,sid};
M[surchargeOperateur][operateur]={soperateur,sop,
spo,sunOuDeuxArguments,spf,sdebut,
scorpsopt,sfin};
M[op][non]={snon};
M[op][et]={set};
M[op][ou]={sou};
M[op][oprel]={soprel};
M[op][non8]={snon8};
M[op][et8]={set8};
M[op][ou8]={sou8};
M[op][plus]={splus};
M[op][moins]={smoins};
M[op][etoile]={setoile};
M[op][slash]={sslash};
M[op][co]={sco,scf};
M[op][po]={spo,spf};
M[op][point]={spoint};
M[unOuDeuxArguments][ent]={stoutType,sid,
sresteUnOuDeuxArguments};
M[unOuDeuxArguments][dec]={stoutType,sid,
sresteUnOuDeuxArguments};
M[unOuDeuxArguments][car]={stoutType,sid,
sresteUnOuDeuxArguments};
M[unOuDeuxArguments][motclebool]={stoutType,sid,
sresteUnOuDeuxArguments};
M[unOuDeuxArguments][motcleEnum]={stoutType,sid,
sresteUnOuDeuxArguments};
M[unOuDeuxArguments][arobase]={stoutType,sid,
sresteUnOuDeuxArguments};
M[unOuDeuxArguments][classe]={stoutType,sid,
sresteUnOuDeuxArguments};
M[resteUnOuDeuxArguments][deuxpts]={sdeuxpts,stoutType,
sid};
M[resteUnOuDeuxArguments][pf]={sepsilon};
M[declareMethode][meth]={smeth,sid,smethode};
M[methode][proc]={sdefproc};
M[methode][co]={sdeffonct};
M[methode][ent]={sdeffonct};
M[methode][dec]={sdeffonct};
M[methode][car]={sdeffonct};
M[methode][motclebool]={sdeffonct};
M[methode][motcleEnum]={sdeffonct};
M[methode][arobase]={sdeffonct};
M[methode][classe]={sdeffonct};
M[definitionEnum][defEnum]={sdefEnum,sid,saccOuv,
slisteId,saccFerm};
M[typeEnum][motcleEnum]={smotcleEnum,sid};
M[valeurDroite][non]={stermeBool,sresteValeurDroite};
M[valeurDroite][valbool]={stermeBool,sresteValeurDroite};
M[valeurDroite][caractere]={stermeBool,
sresteValeurDroite};
M[valeurDroite][adresse]={stermeBool,sresteValeurDroite};
M[valeurDroite][arobase]={stermeBool,sresteValeurDroite};
M[valeurDroite][litteral]={stermeBool,
sresteValeurDroite};
M[valeurDroite][moins]={stermeBool,sresteValeurDroite};
M[valeurDroite][po]={stermeBool,sresteValeurDroite};
M[valeurDroite][id]={stermeBool,sresteValeurDroite};
M[valeurDroite][entier]={stermeBool,sresteValeurDroite};
M[valeurDroite][decimal]={stermeBool,sresteValeurDroite};
M[resteValeurDroite][ou]={sou,stermeBool,
sresteValeurDroite};
M[resteValeurDroite][ptvirg]={sepsilon};
M[resteValeurDroite][deuxpts]={sepsilon};
M[resteValeurDroite][accFerm]={sepsilon};
M[resteValeurDroite][pf]={sepsilon};
M[resteValeurDroite][cf]={sepsilon};
M[resteValeurDroite][fin]={sepsilon};
M[resteValeurDroite][sinonsi]={sepsilon};
M[resteValeurDroite][sinon]={sepsilon};
M[resteValeurDroite][tanque]={sepsilon};
M[resteValeurDroite][refaire]={sepsilon};
M[resteValeurDroite][fait]={sepsilon};
M[resteValeurDroite][fsi]={sepsilon};
M[resteValeurDroite][alors]={sepsilon};
M[resteValeurDroite][affect]={sepsilon};
M[resteValeurDroite][appel]={sepsilon};
M[resteValeurDroite][si]={sepsilon};
M[resteValeurDroite][faire]={sepsilon};
M[resteValeurDroite][pour]={sepsilon};
M[termeBool][non]={sfacteurBool,sresteTermeBool};
M[termeBool][valbool]={sfacteurBool,sresteTermeBool};
M[termeBool][caractere]={sfacteurBool,sresteTermeBool};
M[termeBool][adresse]={sfacteurBool,sresteTermeBool};
M[termeBool][arobase]={sfacteurBool,sresteTermeBool};
M[termeBool][litteral]={sfacteurBool,sresteTermeBool};
M[termeBool][moins]={sfacteurBool,sresteTermeBool};
M[termeBool][po]={sfacteurBool,sresteTermeBool};
M[termeBool][id]={sfacteurBool,sresteTermeBool};
M[termeBool][entier]={sfacteurBool,sresteTermeBool};
M[termeBool][decimal]={sfacteurBool,sresteTermeBool};
M[resteTermeBool][et]={set,sfacteurBool,
sresteTermeBool};
M[resteTermeBool][ou]={sepsilon};
M[resteTermeBool][ptvirg]={sepsilon};
M[resteTermeBool][deuxpts]={sepsilon};
M[resteTermeBool][accFerm]={sepsilon};
M[resteTermeBool][pf]={sepsilon};
M[resteTermeBool][cf]={sepsilon};
M[resteTermeBool][fin]={sepsilon};
M[resteTermeBool][sinonsi]={sepsilon};
M[resteTermeBool][sinon]={sepsilon};
M[resteTermeBool][tanque]={sepsilon};
M[resteTermeBool][refaire]={sepsilon};
M[resteTermeBool][fait]={sepsilon};
M[resteTermeBool][fsi]={sepsilon};
M[resteTermeBool][alors]={sepsilon};
M[resteTermeBool][affect]={sepsilon};
M[resteTermeBool][appel]={sepsilon};
M[resteTermeBool][si]={sepsilon};
M[resteTermeBool][faire]={sepsilon};
M[resteTermeBool][pour]={sepsilon};
M[facteurBool][non]={snon,sfacteurBool};
M[facteurBool][valbool]={svalbool};
M[facteurBool][caractere]={sexpression,srelation};
M[facteurBool][adresse]={sexpression,srelation};
M[facteurBool][arobase]={sexpression,srelation};
M[facteurBool][litteral]={sexpression,srelation};
M[facteurBool][moins]={sexpression,srelation};
M[facteurBool][po]={sexpression,srelation};
M[facteurBool][id]={sexpression,srelation};
M[facteurBool][entier]={sexpression,srelation};
M[facteurBool][decimal]={sexpression,srelation};
M[relation][oprel]={soprel,sexpression};
M[expression][caractere]={sterme,sresteTerme};
M[expression][adresse]={sterme,sresteTerme};
M[expression][arobase]={sterme,sresteTerme};
M[expression][litteral]={sterme,sresteTerme};
M[expression][moins]={sterme,sresteTerme};
M[expression][po]={sterme,sresteTerme};
M[expression][id]={sterme,sresteTerme};
M[expression][entier]={sterme,sresteTerme};
M[expression][decimal]={sterme,sresteTerme};
M[resteTerme][plus]={splus,sterme,sresteTerme};
M[resteTerme][moins]={smoins,sterme,sresteTerme};
M[resteTerme][oprel]={sepsilon};
M[resteTerme][et]={sepsilon};
M[resteTerme][ou]={sepsilon};
M[resteTerme][ptvirg]={sepsilon};
M[resteTerme][deuxpts]={sepsilon};
M[resteTerme][accFerm]={sepsilon};
M[resteTerme][pf]={sepsilon};
M[resteTerme][cf]={sepsilon};
M[resteTerme][fin]={sepsilon};
M[resteTerme][sinonsi]={sepsilon};
M[resteTerme][sinon]={sepsilon};
M[resteTerme][tanque]={sepsilon};
M[resteTerme][refaire]={sepsilon};
M[resteTerme][fait]={sepsilon};
M[resteTerme][fsi]={sepsilon};
M[resteTerme][alors]={sepsilon};
M[resteTerme][affect]={sepsilon};
M[resteTerme][appel]={sepsilon};
M[resteTerme][si]={sepsilon};
M[resteTerme][faire]={sepsilon};
M[resteTerme][pour]={sepsilon};
M[resteTerme][jusque]={sepsilon};
M[resteTerme][pas]={sepsilon};
M[terme][caractere]={scaractere};
M[terme][adresse]={sadresse};
M[terme][arobase]={sarobase,svaleurGauche};
M[terme][litteral]={slitteral};
M[terme][moins]={sfacteur,sresteFacteur};
M[terme][po]={sfacteur,sresteFacteur};
M[terme][id]={sfacteur,sresteFacteur};
M[terme][entier]={sfacteur,sresteFacteur};
M[terme][decimal]={sfacteur,sresteFacteur};
M[resteFacteur][etoile]={setoile,sfacteur,
sresteFacteur};
M[resteFacteur][slash]={sslash,sfacteur,
sresteFacteur};
M[resteFacteur][plus]={sepsilon};
M[resteFacteur][moins]={sepsilon};
M[resteFacteur][oprel]={sepsilon};
M[resteFacteur][et]={sepsilon};
M[resteFacteur][ou]={sepsilon};
M[resteFacteur][ptvirg]={sepsilon};
M[resteFacteur][deuxpts]={sepsilon};
M[resteFacteur][accFerm]={sepsilon};
M[resteFacteur][pf]={sepsilon};
M[resteFacteur][cf]={sepsilon};
M[resteFacteur][fin]={sepsilon};
M[resteFacteur][sinonsi]={sepsilon};
M[resteFacteur][sinon]={sepsilon};
M[resteFacteur][tanque]={sepsilon};
M[resteFacteur][refaire]={sepsilon};
M[resteFacteur][fait]={sepsilon};
M[resteFacteur][fsi]={sepsilon};
M[resteFacteur][alors]={sepsilon};
M[resteFacteur][affect]={sepsilon};
M[resteFacteur][appel]={sepsilon};
M[resteFacteur][si]={sepsilon};
M[resteFacteur][faire]={sepsilon};
M[resteFacteur][pour]={sepsilon};
M[resteFacteur][jusque]={sepsilon};
M[resteFacteur][pas]={sepsilon};
M[facteur][moins]={smoins,sfacteur};
M[facteur][po]={spo,svaleurDroite,spf,
sP};
M[facteur][id]={sgroupeId,sP};
M[facteur][entier]={sentier,sP};
M[facteur][decimal]={sdecimal,sP};
M[P][chapeau]={schapeau,sfacteur};
M[P][etoile]={sepsilon};
M[P][slash]={sepsilon};
M[P][plus]={sepsilon};
M[P][moins]={sepsilon};
M[P][oprel]={sepsilon};
M[P][et]={sepsilon};
M[P][ou]={sepsilon};
M[P][ptvirg]={sepsilon};
M[P][deuxpts]={sepsilon};
M[P][accFerm]={sepsilon};
M[P][pf]={sepsilon};
M[P][cf]={sepsilon};
M[P][fin]={sepsilon};
M[P][sinonsi]={sepsilon};
M[P][sinon]={sepsilon};
M[P][tanque]={sepsilon};
M[P][refaire]={sepsilon};
M[P][fait]={sepsilon};
M[P][fsi]={sepsilon};
M[P][alors]={sepsilon};
M[P][affect]={sepsilon};
M[P][appel]={sepsilon};
M[P][si]={sepsilon};
M[P][faire]={sepsilon};
M[P][pour]={sepsilon};
M[P][jusque]={sepsilon};
M[P][pas]={sepsilon};
M[groupeId][id]={sid,sapresId};
M[apresId][point]={spoint,sid,sapresId};
M[apresId][co]={slisteIndices,sapresIndices};
M[apresId][po]={spo,slisteValeursDroites,spf,
sapresParentheses};
M[apresId][arobase]={sarobase,sapresArobase};
M[apresId][chapeau]={sepsilon};
M[apresId][etoile]={sepsilon};
M[apresId][slash]={sepsilon};
M[apresId][plus]={sepsilon};
M[apresId][moins]={sepsilon};
M[apresId][oprel]={sepsilon};
M[apresId][et]={sepsilon};
M[apresId][ou]={sepsilon};
M[apresId][ptvirg]={sepsilon};
M[apresId][deuxpts]={sepsilon};
M[apresId][accFerm]={sepsilon};
M[apresId][pf]={sepsilon};
M[apresId][cf]={sepsilon};
M[apresId][fin]={sepsilon};
M[apresId][sinonsi]={sepsilon};
M[apresId][sinon]={sepsilon};
M[apresId][tanque]={sepsilon};
M[apresId][refaire]={sepsilon};
M[apresId][fait]={sepsilon};
M[apresId][fsi]={sepsilon};
M[apresId][alors]={sepsilon};
M[apresId][affect]={sepsilon};
M[apresId][appel]={sepsilon};
M[apresId][si]={sepsilon};
M[apresId][faire]={sepsilon};
M[apresId][pour]={sepsilon};
M[apresId][jusque]={sepsilon};
M[apresId][pas]={sepsilon};
M[apresIndices][point]={spoint,sid,sapresId};
M[apresIndices][arobase]={sarobase,sapresArobase};
M[apresIndices][chapeau]={sepsilon};
M[apresIndices][etoile]={sepsilon};
M[apresIndices][slash]={sepsilon};
M[apresIndices][plus]={sepsilon};
M[apresIndices][moins]={sepsilon};
M[apresIndices][oprel]={sepsilon};
M[apresIndices][et]={sepsilon};
M[apresIndices][ou]={sepsilon};
M[apresIndices][ptvirg]={sepsilon};
M[apresIndices][deuxpts]={sepsilon};
M[apresIndices][accFerm]={sepsilon};
M[apresIndices][pf]={sepsilon};
M[apresIndices][cf]={sepsilon};
M[apresIndices][fin]={sepsilon};
M[apresIndices][sinonsi]={sepsilon};
M[apresIndices][sinon]={sepsilon};
M[apresIndices][tanque]={sepsilon};
M[apresIndices][refaire]={sepsilon};
M[apresIndices][fait]={sepsilon};
M[apresIndices][fsi]={sepsilon};
M[apresIndices][alors]={sepsilon};
M[apresIndices][affect]={sepsilon};
M[apresIndices][appel]={sepsilon};
M[apresIndices][si]={sepsilon};
M[apresIndices][faire]={sepsilon};
M[apresIndices][pour]={sepsilon};
M[apresIndices][jusque]={sepsilon};
M[apresIndices][pas]={sepsilon};
M[apresParentheses][point]={spoint,sid,
sapresId};
M[apresParentheses][co]={slisteIndices,sapresIndices};
M[apresParentheses][arobase]={sarobase,sapresArobase};
M[apresParentheses][chapeau]={sepsilon};
M[apresParentheses][etoile]={sepsilon};
M[apresParentheses][slash]={sepsilon};
M[apresParentheses][plus]={sepsilon};
M[apresParentheses][moins]={sepsilon};
M[apresParentheses][oprel]={sepsilon};
M[apresParentheses][et]={sepsilon};
M[apresParentheses][ou]={sepsilon};
M[apresParentheses][ptvirg]={sepsilon};
M[apresParentheses][deuxpts]={sepsilon};
M[apresParentheses][accFerm]={sepsilon};
M[apresParentheses][pf]={sepsilon};
M[apresParentheses][cf]={sepsilon};
M[apresParentheses][fin]={sepsilon};
M[apresParentheses][sinonsi]={sepsilon};
M[apresParentheses][sinon]={sepsilon};
M[apresParentheses][tanque]={sepsilon};
M[apresParentheses][refaire]={sepsilon};
M[apresParentheses][fait]={sepsilon};
M[apresParentheses][fsi]={sepsilon};
M[apresParentheses][alors]={sepsilon};
M[apresParentheses][affect]={sepsilon};
M[apresParentheses][appel]={sepsilon};
M[apresParentheses][si]={sepsilon};
M[apresParentheses][faire]={sepsilon};
M[apresParentheses][pour]={sepsilon};
M[apresParentheses][jusque]={sepsilon};
M[apresParentheses][pas]={sepsilon};
M[apresArobase][point]={spoint,sid,sapresId};
M[apresArobase][arobase]={sarobase,sapresArobase};
M[apresArobase][chapeau]={sepsilon};
M[apresArobase][etoile]={sepsilon};
M[apresArobase][slash]={sepsilon};
M[apresArobase][plus]={sepsilon};
M[apresArobase][moins]={sepsilon};
M[apresArobase][oprel]={sepsilon};
M[apresArobase][et]={sepsilon};
M[apresArobase][ou]={sepsilon};
M[apresArobase][ptvirg]={sepsilon};
M[apresArobase][deuxpts]={sepsilon};
M[apresArobase][accFerm]={sepsilon};
M[apresArobase][pf]={sepsilon};
M[apresArobase][cf]={sepsilon};
M[apresArobase][fin]={sepsilon};
M[apresArobase][sinonsi]={sepsilon};
M[apresArobase][sinon]={sepsilon};
M[apresArobase][tanque]={sepsilon};
M[apresArobase][refaire]={sepsilon};
M[apresArobase][fait]={sepsilon};
M[apresArobase][fsi]={sepsilon};
M[apresArobase][alors]={sepsilon};
M[apresArobase][affect]={sepsilon};
M[apresArobase][appel]={sepsilon};
M[apresArobase][si]={sepsilon};
M[apresArobase][faire]={sepsilon};
M[apresArobase][pour]={sepsilon};
M[apresArobase][jusque]={sepsilon};
M[apresArobase][pas]={sepsilon};
M[corpsopt][var]={scorps};
M[corpsopt][motcleconst]={scorps};
M[corpsopt][tab]={scorps};
M[corpsopt][obj]={scorps};
M[corpsopt][affect]={scorps};
M[corpsopt][appel]={scorps};
M[corpsopt][si]={scorps};
M[corpsopt][faire]={scorps};
M[corpsopt][pour]={scorps};
M[corpsopt][fin]={sepsilon};
M[corps][var]={sdeclaration,sptvirg,scorps};
M[corps][motcleconst]={sdeclaration,sptvirg,
scorps};
M[corps][tab]={sdeclaration,sptvirg,scorps};
M[corps][obj]={sdeclaration,sptvirg,scorps};
M[corps][affect]={ssequence};
M[corps][appel]={ssequence};
M[corps][si]={ssequence};
M[corps][faire]={ssequence};
M[corps][pour]={ssequence};
M[sequence][affect]={sinstr,sresteSequence};
M[sequence][appel]={sinstr,sresteSequence};
M[sequence][si]={sinstr,sresteSequence};
M[sequence][faire]={sinstr,sresteSequence};
M[sequence][pour]={sinstr,sresteSequence};
M[resteSequence][ptvirg]={sptvirg,sinstr,
sresteSequence};
M[resteSequence][fin]={sepsilon};
M[resteSequence][sinonsi]={sepsilon};
M[resteSequence][sinon]={sepsilon};
M[resteSequence][tanque]={sepsilon};
M[resteSequence][refaire]={sepsilon};
M[resteSequence][fait]={sepsilon};
M[resteSequence][fsi]={sepsilon};
M[instr][affect]={saffect,svaleurGauche,
sdeuxptsEgal,svaleurDroite};
M[instr][appel]={sappel,sid,spo,
slisteValeursDroites,spf,spo,
slisteValeursGauches,spf};
M[instr][si]={ssi,svaleurDroite,salors,
ssequence,sresteSi,sfsi};
M[instr][faire]={sfaire,ssequence,stanque,
svaleurDroite,ssequence,srefaire};
M[instr][pour]={spour,svaleurGauche,sdepuis,
sexpression,sjusque,sexpression,spas,
sexpression,sfaire,ssequence,sfait};
M[resteSi][sinonsi]={ssinonsi,svaleurDroite,
salors,
ssequence,sresteSi};
M[resteSi][sinon]={ssinon,ssequence};
M[listeValeursGauches][id]={svaleurGauche,
sresteListeValeurGauche};
M[resteListeValeurGauche][deuxpts]={sdeuxpts,
svaleurGauche,
sresteListeValeurGauche};
M[resteListeValeurGauche][pf]={sepsilon};
M[valeurGauche][id]={sid,sapresIdGauche};
M[apresIdGauche][point]={spoint,sid,
sapresIdGauche};
M[apresIdGauche][co]={slisteIndices,
sapresIndicesGauche};
M[apresIdGauche][po]={spo,slisteValeursDroites,
spf,sapresParenthesesGauche};
M[apresIdGauche][arobase]={sarobase,
sapresArobaseGauche};
M[apresIdGauche][plus]={sepsilon};
M[apresIdGauche][moins]={sepsilon};
M[apresIdGauche][oprel]={sepsilon};
M[apresIdGauche][et]={sepsilon};
M[apresIdGauche][ou]={sepsilon};
M[apresIdGauche][ptvirg]={sepsilon};
M[apresIdGauche][deuxpts]={sepsilon};
M[apresIdGauche][accFerm]={sepsilon};
M[apresIdGauche][pf]={sepsilon};
M[apresIdGauche][cf]={sepsilon};
M[apresIdGauche][fin]={sepsilon};
M[apresIdGauche][sinonsi]={sepsilon};
M[apresIdGauche][sinon]={sepsilon};
M[apresIdGauche][tanque]={sepsilon};
M[apresIdGauche][refaire]={sepsilon};
M[apresIdGauche][fait]={sepsilon};
M[apresIdGauche][fsi]={sepsilon};
M[apresIdGauche][alors]={sepsilon};
M[apresIdGauche][affect]={sepsilon};
M[apresIdGauche][appel]={sepsilon};
M[apresIdGauche][si]={sepsilon};
M[apresIdGauche][faire]={sepsilon};
M[apresIdGauche][pour]={sepsilon};
M[apresIdGauche][jusque]={sepsilon};
M[apresIdGauche][pas]={sepsilon};
M[apresIdGauche][deuxptsEgal]={sepsilon};
M[apresIdGauche][depuis]={sepsilon};
M[apresIndicesGauche][point]={spoint,sid,
sapresIdGauche};
M[apresIndicesGauche][arobase]={sarobase,
sapresArobaseGauche};
M[apresIndicesGauche][plus]={sepsilon};
M[apresIndicesGauche][moins]={sepsilon};
M[apresIndicesGauche][oprel]={sepsilon};
M[apresIndicesGauche][et]={sepsilon};
M[apresIndicesGauche][ou]={sepsilon};
M[apresIndicesGauche][ptvirg]={sepsilon};
M[apresIndicesGauche][deuxpts]={sepsilon};
M[apresIndicesGauche][accFerm]={sepsilon};
M[apresIndicesGauche][pf]={sepsilon};
M[apresIndicesGauche][cf]={sepsilon};
M[apresIndicesGauche][fin]={sepsilon};
M[apresIndicesGauche][sinonsi]={sepsilon};
M[apresIndicesGauche][sinon]={sepsilon};
M[apresIndicesGauche][tanque]={sepsilon};
M[apresIndicesGauche][refaire]={sepsilon};
M[apresIndicesGauche][fait]={sepsilon};
M[apresIndicesGauche][fsi]={sepsilon};
M[apresIndicesGauche][alors]={sepsilon};
M[apresIndicesGauche][affect]={sepsilon};
M[apresIndicesGauche][appel]={sepsilon};
M[apresIndicesGauche][si]={sepsilon};
M[apresIndicesGauche][faire]={sepsilon};
M[apresIndicesGauche][pour]={sepsilon};
M[apresIndicesGauche][jusque]={sepsilon};
M[apresIndicesGauche][pas]={sepsilon};
M[apresIndicesGauche][deuxptsEgal]={sepsilon};
M[apresIndicesGauche][depuis]={sepsilon};
M[apresParenthesesGauche][point]={spoint,sid,
sapresIdGauche};
M[apresParenthesesGauche][co]={slisteIndices,
sapresIndicesGauche};
M[apresParenthesesGauche][arobase]={sarobase,
sapresArobaseGauche};
M[apresArobaseGauche][point]={spoint,sid,
sapresIdGauche};
M[apresArobaseGauche][arobase]={sarobase,
sapresArobaseGauche};
M[apresArobaseGauche][plus]={sepsilon};
M[apresArobaseGauche][moins]={sepsilon};
M[apresArobaseGauche][oprel]={sepsilon};
M[apresArobaseGauche][et]={sepsilon};
M[apresArobaseGauche][ou]={sepsilon};
M[apresArobaseGauche][ptvirg]={sepsilon};
M[apresArobaseGauche][deuxpts]={sepsilon};
M[apresArobaseGauche][accFerm]={sepsilon};
M[apresArobaseGauche][pf]={sepsilon};
M[apresArobaseGauche][cf]={sepsilon};
M[apresArobaseGauche][fin]={sepsilon};
M[apresArobaseGauche][sinonsi]={sepsilon};
M[apresArobaseGauche][sinon]={sepsilon};
M[apresArobaseGauche][tanque]={sepsilon};
M[apresArobaseGauche][refaire]={sepsilon};
M[apresArobaseGauche][fait]={sepsilon};
M[apresArobaseGauche][fsi]={sepsilon};
M[apresArobaseGauche][alors]={sepsilon};
M[apresArobaseGauche][affect]={sepsilon};
M[apresArobaseGauche][appel]={sepsilon};
M[apresArobaseGauche][si]={sepsilon};
M[apresArobaseGauche][faire]={sepsilon};
M[apresArobaseGauche][pour]={sepsilon};
M[apresArobaseGauche][jusque]={sepsilon};
M[apresArobaseGauche][pas]={sepsilon};
M[apresArobaseGauche][deuxptsEgal]={sepsilon};
M[apresArobaseGauche][depuis]={sepsilon};
symbole tabTerminal[nbTerms]={sprog,sid,sptvirg,
sdebut,sfin,sabstr,sdefclasse,
saccOuv,saccFerm,sclasse,sherite,
sdeuxPts,sconstr,sdestr,spo,
spf,svar,sent,sdec,scar,
smotclebool,sarobase,sdeuxptsEgal,
sdeuxpts,smotcleconst,stab,sco,
scf,sproc,sfix,smod,sfonct,
sobj,soperateur,snon,set,sou,
soprel,snon8,set8,sou8,splus,
smoins,setoile,sslash,spoint,
smeth,sdefEnum,smotcleEnum,svalbool,
scaractere,sadresse,slitteral,sentier,
sdecimal,schapeau,saffect,sappel,
ssi,salors,sfsi,sfaire,
stanque,srefaire,spour,sdepuis,
sjusque,spas,sfait,ssinonsi,
ssinon};
}
bool syntaxique::XestTerminal(){
int i;
for(i=0;i<nbTerms && tabTerminal[i]!=X;i++)
;
return i<nbTerms;
}
bool syntaxique::Xvauta(){
std::map<terminal,symbole> m={
{prog,sprog},
{id,sid},
{ptvirg,sptvirg},
{debut,sdebut},
{fin,sfin},
{abstr,sabstr},
{defclasse,sdefclasse},
{accOuv,saccOuv},
{accFerm,saccFerm},
{classe,sclasse},
{herite,sherite},
{deuxPts,sdeuxPts},
{constr,sconstr},
{destr,sdestr},
{po,spo},
{pf,spf},
{var,svar},
{ent,sent},
{dec,sdec},
{car,scar},
{motclebool,smotclebool},
{arobase,sarobase},
{deuxptsEgal,sdeuxptsEgal},
{deuxpts,sdeuxpts},
{motcleconst,smotcleconst},
{tab,stab},
{co,sco},
{cf,scf},
{proc,sproc},
{fix,sfix},
{mod,smod},
{fonct,sfonct},
{obj,sobj},
{operateur,soperateur},
{non,snon},
{et,set},
{ou,sou},
{oprel,soprel},
{non8,snon8},
{et8,set8},
{ou8,sou8},
{plus,splus},
{moins,smoins},
{etoile,setoile},
{slash,sslash},
{point,spoint},
{meth,smeth},
{defEnum,sdefEnum},
{motcleEnum,smotcleEnum},
{valbool,svalbool},
{caractere,scaractere},
{adresse,sadresse},
{litteral,slitteral},
{entier,sentier},
{decimal,sdecimal},
{chapeau,schapeau},
{affect,saffect},
{appel,sappel},
{si,ssi},
{alors,salors},
{fsi,sfsi},
{faire,sfaire},
{tanque,stanque},
{refaire,srefaire},
{pour,spour},
{depuis,sdepuis},
{jusque,sjusque},
{pas,spas},
{fait,sfait},
{sinonsi,ssinonsi},
{sinon,ssinon},
{epsilon,sepsilon},
{dolar,sdolar}
};
auto search=m.find(a.getLex());
return X==search->second;
}
std::string syntaxique::stringSymbole(symbole x){
std::map<symbole,std::string> t={
{sprog,"prog"},
{sid,"id"},
{sptvirg,"ptvirg"},
{sdebut,"debut"},
{sfin,"fin"},
{sabstr,"abstr"},
{sdefclasse,"defclasse"},
{saccOuv,"accOuv"},
{saccFerm,"accFerm"},
{sclasse,"classe"},
{sherite,"herite"},
{sdeuxPts,"deuxPts"},
{sconstr,"constr"},
{sdestr,"destr"},
{spo,"po"},
{spf,"pf"},
{svar,"var"},
{sent,"ent"},
{sdec,"dec"},
{scar,"car"},
{smotclebool,"motclebool"},
{sarobase,"arobase"},
{sdeuxptsEgal,"deuxptsEgal"},
{sdeuxpts,"deuxpts"},
{smotcleconst,"motcleconst"},
{stab,"tab"},
{sco,"co"},
{scf,"cf"},
{sproc,"proc"},
{sfix,"fix"},
{smod,"mod"},
{sfonct,"fonct"},
{sobj,"obj"},
{soperateur,"operateur"},
{snon,"non"},
{set,"et"},
{sou,"ou"},
{soprel,"oprel"},
{snon8,"non8"},
{set8,"et8"},
{sou8,"ou8"},
{splus,"plus"},
{smoins,"moins"},
{setoile,"etoile"},
{sslash,"slash"},
{spoint,"point"},
{smeth,"meth"},
{sdefEnum,"defEnum"},
{smotcleEnum,"motcleEnum"},
{svalbool,"valbool"},
{scaractere,"caractere"},
{sadresse,"adresse"},
{slitteral,"litteral"},
{sentier,"entier"},
{sdecimal,"decimal"},
{schapeau,"chapeau"},
{saffect,"affect"},
{sappel,"appel"},
{ssi,"si"},
{salors,"alors"},
{sfsi,"fsi"},
{sfaire,"faire"},
{stanque,"tanque"},
{srefaire,"refaire"},
{spour,"pour"},
{sdepuis,"depuis"},
{sjusque,"jusque"},
{spas,"pas"},
{sfait,"fait"},
{ssinonsi,"sinonsi"},
{ssinon,"sinon"},
{sepsilon,"epsilon"},
{sdolar,"dolar"},
{ssynchro,"synchro"},
{serr,"err"},
{sprogramme,"programme"},
{sresteProg,"resteProg"},
{sdeclareGlobales,"declareGlobales"},
{sdefinitionclasse,"definitionclasse"},
{stypeClasse,"typeClasse"},
{sheritage,"heritage"},
{slisteId,"listeId"},
{sresteListeId,"resteListeId"},
{sconstructeur,"constructeur"},
{sdestructeur,"destructeur"},
{slisteArgumentsopt,"listeArgumentsopt"},
{slistemembre
7 réponses
Dalfab
Messages postés
706
Date d'inscription
dimanche 7 février 2016
Statut
Membre
Dernière intervention
2 novembre 2023
101
14 mai 2021 à 11:25
14 mai 2021 à 11:25
Bonjour,
troisième ligne tu écris :
Tu voulais surement écrire :
troisième ligne tu écris :
syntaxique compilo(char argv[1]);, ce qui déclare une fonction
compiloqui recevra un tableau de
charet retournera un
syntaxique.
Tu voulais surement écrire :
syntaxique compilo(argv[1]);qui instancie une variable
compilode type
syntaxiqueinitialisée avec la 2nd élément du tableau
argv.
Utilisateur anonyme
7 mai 2021 à 06:47
7 mai 2021 à 06:47
Bonjour
si tu veux de l’aide, il faut essayer de nous en donner envie,
Et là c’est imbuvable.
Pour poster correctement ton code, il faut faire comme décrit là https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
si tu veux de l’aide, il faut essayer de nous en donner envie,
Et là c’est imbuvable.
Pour poster correctement ton code, il faut faire comme décrit là https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
oui, c'est bien ce que l'on m'a dit sur un autre forum. Comment fait-on pour signaler qu'un sujet est résolu?
Elecsupchi
Messages postés
14
Date d'inscription
vendredi 14 mai 2021
Statut
Membre
Dernière intervention
31 mai 2021
15 mai 2021 à 15:19
15 mai 2021 à 15:19
Tu cliques sur le gros bouton vert!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Elecsupchi
Messages postés
14
Date d'inscription
vendredi 14 mai 2021
Statut
Membre
Dernière intervention
31 mai 2021
15 mai 2021 à 17:11
15 mai 2021 à 17:11
Ah... Mais tu n'es pas membre en fait... J'ai eu le même problème quand je n'étais pas membre...