/* * Constructeur */ public GroupeDInstructions_Boucle_RépèteToutLeTemps(int _UID, XmlNode _XMLDuBloc, __Bloc _blocPrécédent, __GroupeDeBlocs _groupeDeBlocs) : base(_UID, _XMLDuBloc, _blocPrécédent, _groupeDeBlocs) { // Déclarations // ------------ XmlNode XMLInterne; // Initialisation des membres // -------------------------- // Il est possible de sortir de ce groupe, à l'aide du bloc SortDeLaBoucleFaire __bloc_SortDeLaBoucleFaire_Possible = true; // Traitements // ----------- XMLInterne = _XMLDuBloc.SelectSingleNode("./statement"); if (XMLInterne != null) { __blocsInternes = new __BlocsInternes(UID + 1, XMLInterne.FirstChild, null, this); } // Liste les séquences du bloc // --------------------------- __séquences.Add((Séquence)Séquence_1); __séquences.Add((Séquence)Séquence_2); __séquences.Add((Séquence)Séquence_3); __nombreDeBlocsInternes = 1; }
/* * Constructeur */ public GroupeDInstructions_Boucle_Faire_TantQue_ENTCondition(int _UID, XmlNode _XMLDuBloc, __Bloc _blocPrécédent, __GroupeDeBlocs _groupeDeBlocs) : base(_UID, _XMLDuBloc, _blocPrécédent, _groupeDeBlocs) { // Déclarations // ------------ String nomDeLAttribut; XmlNode XMLInterne; // Initialisation des membres // -------------------------- // Il est possible de sortir de ce groupe, à l'aide du bloc SortDeLaBoucleFaire __bloc_SortDeLaBoucleFaire_Possible = true; // Traitements // ----------- // Analyse du Bloc d'instruction foreach (XmlNode XMLDUnNoeudFils in _XMLDuBloc.ChildNodes) { nomDeLAttribut = ""; if (XMLDUnNoeudFils.Attributes["name"] != null) { nomDeLAttribut = XMLDUnNoeudFils.Attributes["name"].Value; } switch (nomDeLAttribut) { case "Condition": __conditionDeBoucle = Compilateur.AnalyseUnNoeudDExpression(_UID, XMLDUnNoeudFils.FirstChild, _blocPrécédent, _groupeDeBlocs); break; } } XMLInterne = _XMLDuBloc.SelectSingleNode("./statement"); if (XMLInterne != null) { __blocsInternes = new __BlocsInternes(UID + 1, XMLInterne.FirstChild, null, this); } // Liste les séquences du bloc // --------------------------- __séquences.Add((Séquence)Séquence_1); __séquences.Add((Séquence)Séquence_2); __séquences.Add((Séquence)Séquence_3); __nombreDeBlocsInternes = 1; }
/* * Constructeur */ public GroupeDInstructions_Si_ENTCondition_Alors_Sinon(int _UID, XmlNode _XMLDuBloc, __Bloc _blocPrécédent, __GroupeDeBlocs _groupeDeBlocs) : base(_UID, _XMLDuBloc, _blocPrécédent, _groupeDeBlocs, null, null, null) { // Déclarations // ------------ String nomDeLAttribut; XmlNode XMLInterne; // Traitements // ----------- // Analyse du Bloc d'instruction foreach (XmlNode XMLDUnNoeudFils in _XMLDuBloc.ChildNodes) { nomDeLAttribut = ""; if (XMLDUnNoeudFils.Attributes["name"] != null) { nomDeLAttribut = XMLDUnNoeudFils.Attributes["name"].Value; } switch (nomDeLAttribut) { case "Condition": __conditionDEntré = Compilateur.AnalyseUnNoeudDExpression(_UID, XMLDUnNoeudFils.FirstChild, _blocPrécédent, _groupeDeBlocs); break; } } // Blocs internes au groupe // ------------------------ XMLInterne = _XMLDuBloc.SelectSingleNode("./statement[@name=\"BlocsInternes\"]"); if (XMLInterne != null) { __blocsInternes = new __BlocsInternes(UID + 1, XMLInterne.FirstChild, null, this); } XMLInterne = _XMLDuBloc.SelectSingleNode("./statement[@name=\"BlocsInternes_Sinon\"]"); if (XMLInterne != null) { if (__blocsInternes != null) { __blocsInternesSupplémentaires = new __BlocsInternes(UID + 1 + __blocsInternes.nombreDeSéquence, XMLInterne.FirstChild, null, this); } else { __blocsInternesSupplémentaires = new __BlocsInternes(UID + 1, XMLInterne.FirstChild, null, this); } } }
/* * Constructeur */ public __GroupeDInstructions_Si_Alors_AvecCondition(int _UID, XmlNode _XMLDuBloc, __Bloc _blocPrécédent, __GroupeDeBlocs _groupeDeBlocs, __BlocsInternes _blocsInternes, __Valeur _ConditionDEntré) : base(_UID, _XMLDuBloc, _blocPrécédent, _groupeDeBlocs) { // Initialisation des membres // -------------------------- __blocsInternes = _blocsInternes; __conditionDEntré = _ConditionDEntré; // Liste les séquences du bloc // --------------------------- __séquences.Add((Séquence)Séquence_1); __séquences.Add((Séquence)Séquence_2); __séquences.Add((Séquence)Séquence_3); __nombreDeBlocsInternes = 1; }
/* * Constructeur */ public GroupeDInstructions_Boucle_Répète_SAINombre(int _UID, XmlNode _XMLDuBloc, __Bloc _blocPrécédent, __GroupeDeBlocs _groupeDeBlocs) : base(_UID, _XMLDuBloc, _blocPrécédent, _groupeDeBlocs, null, 0) { // Déclarations // ------------ String nomDeLAttribut; XmlNode XMLInterne; // Initialisation des membres // -------------------------- // Il est possible de sortir de ce groupe, à l'aide du bloc SortDeLaBoucleFaire __bloc_SortDeLaBoucleFaire_Possible = true; // Traitements // ----------- // Analyse du Bloc d'instruction foreach (XmlNode XMLDUnNoeudFils in _XMLDuBloc.ChildNodes) { nomDeLAttribut = ""; if (XMLDUnNoeudFils.Attributes["name"] != null) { nomDeLAttribut = XMLDUnNoeudFils.Attributes["name"].Value; } switch (nomDeLAttribut) { case "NombreDeBoucle": nombreDeBoucle = Int32.Parse(XMLDUnNoeudFils.InnerText); break; } } XMLInterne = _XMLDuBloc.SelectSingleNode("./statement"); if (XMLInterne != null) { __blocsInternes = new __BlocsInternes(UID + 2, XMLInterne.FirstChild, null, this); } }
/* * Constructeur */ public __GroupeDInstructions_Boucle_Répète_AvecNombre(int _UID, XmlNode _XMLDuBloc, __Bloc _blocPrécédent, __GroupeDeBlocs _groupeDeBlocs, __BlocsInternes _blocsInternes, int _nombreDeBoucle) : base(_UID, _XMLDuBloc, _blocPrécédent, _groupeDeBlocs) { // Initialisation des membres // -------------------------- __compteurDeBoucle++; __UIDDeBoucle = __compteurDeBoucle; __blocsInternes = _blocsInternes; __nombreDeBoucle = _nombreDeBoucle + 1; // Il est possible de sortir de ce groupe, à l'aide du bloc SortDeLaBoucleFaire __bloc_SortDeLaBoucleFaire_Possible = true; // Liste les séquences du bloc // --------------------------- __séquences.Add((Séquence)Séquence_1); __séquences.Add((Séquence)Séquence_2); __séquences.Add((Séquence)Séquence_3); __séquences.Add((Séquence)Séquence_4); __nombreDeBlocsInternes = 1; }
/* * Constructeur */ public GroupeDInstructions_Si_IlYAUnObstacleDevant_Alors(int _UID, XmlNode _XMLDuBloc, __Bloc _blocPrécédent, __GroupeDeBlocs _groupeDeBlocs) : base(_UID, _XMLDuBloc, _blocPrécédent, _groupeDeBlocs, null, null) { // Déclarations // ------------ XmlNode XMLInterne; // Initialisation des membres // -------------------------- __conditionDEntré = new __Valeur(_UID, _XMLDuBloc, _blocPrécédent, _groupeDeBlocs, __CAPTEURS.code((int)__CAPTEURS.NOM.AVANT_AU_MOINS_UN, (int)__CAPTEURS.PARAMÈTRE.DISTANCE_PRÈS)); // Blocs internes au groupe // ------------------------ XMLInterne = _XMLDuBloc.SelectSingleNode("./statement"); if (XMLInterne != null) { __blocsInternes = new __BlocsInternes(UID + 1, XMLInterne.FirstChild, null, this); } }