diff --git a/parser/src/algorithmeEventParser.cpp b/parser/src/algorithmeEventParser.cpp new file mode 100644 index 0000000000000000000000000000000000000000..cff2cf9488ee003a3688752c9fd3cee578768a05 --- /dev/null +++ b/parser/src/algorithmeEventParser.cpp @@ -0,0 +1,46 @@ +#algorithme pour convertion +convertir(String type, String valeur) : Type +{ +if (type=="int") + return new Integer(valeur) +else if (type=="String") + return new Str(valeur) +else if (type=="Color") + return new Color(valeur) + } + +#algorithme pour EventParser + +E : Hash des evenements (constuit dans le parserDef), ligne +S : Trace + + +Event & e = Hash(atoi(liretoken(ligne))) +if (e.name = "PajedefineContainer" ) + { + int i = 0; + String token; + Map facultatif<int, Type>; + while (token = liretoken(ligne)) + { + String typeattendu = e.vector[i].type; + String champattendu = e.vector[i].champ; + i++; + + if (champattendu=="name") + { + + String parametre1 = token; + } + else if (champattendu=="couleur") + { + Couleur parametre2(typeattendu,token); + } + else //facultatif + { + facultatif += convertir(typeattendu,token); + } + } + trace.storePajedefineContainer(parametre1,parametre2,facultatif); + + }