/* * Séquences */ // Séquence 1 // - Test la condition // - Celle-ci est fausse, on passe à la dernière séquence // - Celle-ci est vrai, on passe au premier bloc interne public String Séquence_1() { String code; if (__blocsInternes != null) { code = " if __sequenceur[" + UIDDuSéquenceur + "]==" + Compilateur.ComplèteÀZéro(UID) + " then\n"; if (__conditionDEntré.codeDInitialisationPourLeSéquenceur != "") { code += " " + __conditionDEntré.codeDInitialisationPourLeSéquenceur + "\n"; } code += " if " + __conditionDEntré.codePourLeSéquenceur + " then\n" + " __sequenceur[" + UIDDuSéquenceur + "]=" + Compilateur.ComplèteÀZéro(UID + 1) + "\n" + " else\n" + " __sequenceur[" + UIDDuSéquenceur + "]=" + Compilateur.ComplèteÀZéro(__blocsInternes.premierBloc.UID + __blocsInternes.nombreDeSéquence) + "\n" + " end\n" + " end"; return(code); } else { return(" " + Compilateur.codeSauteSéquence(UIDDuSéquenceur, UID, UID + 2)); } }
/* * Séquences */ // Séquence 1 : Séquence de DEBUT de Boucle_RépèteToutLeTemps // - Passe au premier bloc interne public String Séquence_1() { if (__blocsInternes != null) { // Passe au premier bloc de la séquence interne return(" " + Compilateur.codeSauteSéquence(UIDDuSéquenceur, UID, __blocsInternes.premierBloc.UID)); } else { // Passe à la séquence FIN de Boucle_RépèteToutLeTemps return(" " + Compilateur.codeSauteSéquence(UIDDuSéquenceur, UID, UID + 2)); } }
// Séquence 5 // - Passe au bloc suivant public String Séquence_4() { String code = ""; if (Compilateur.afficherLesCommentaires) { code += " # (UID " + __UID + " FIN) Instruction Blockly : " + __nomDansBlockly + "\n"; } code += " " + Compilateur.codeSauteSéquence(UIDDuSéquenceur, UIDDeLaDernièreSéquence, UIDDuBlocSuivant); return(code); }
/* * Séquences */ // Séquence 1 public String Séquence_1() { __GroupeDeBlocs groupeDeBlocs; if (__groupeDeBlocs == null) { // Le bloc n'est pas dans un groupe, on passe au bloc suivant return(" " + Compilateur.codeSauteSéquence(UIDDuSéquenceur, UID, UIDDuBlocSuivant)); } else { // Le bloc est dans un groupe FAIRE, on sort de ce groupe groupeDeBlocs = __GroupeDeBlocs.groupeDInstructions_Faire_AuDessus(__groupeDeBlocs); return(" " + Compilateur.codeSauteSéquence(UIDDuSéquenceur, UID, groupeDeBlocs.UIDDuBlocSuivant)); } }
// Séquence 2 // - Décrémente le nombre de boucle // - Si le nombre de boucle est >0, passe au premier bloc interne // - Si le nombre de boucle est =0, passe au bloc de fin public String Séquence_2() { if (__blocsInternes != null) { return(" if __sequenceur[" + UIDDuSéquenceur + "]==" + Compilateur.ComplèteÀZéro(UID + 1) + " then\n" + " __boucle[" + (__UIDDeBoucle - 1) + "]--\n" + " if __boucle[" + (__UIDDeBoucle - 1) + "]>0 then\n" + " __sequenceur[" + UIDDuSéquenceur + "]=" + Compilateur.ComplèteÀZéro(__blocsInternes.premierBloc.UID) + "\n" + " else\n" + " __sequenceur[" + UIDDuSéquenceur + "]=" + Compilateur.ComplèteÀZéro(UIDDuBlocSuivant) + "\n" + " end\n" + " end"); } else { return(" " + Compilateur.codeSauteSéquence(UIDDuSéquenceur, UID + 1, UIDDuBlocSuivant)); } }
// Séquence 4 // - Passe au second bloc du groupe public String Séquence_4() { String code = ""; if (Compilateur.afficherLesCommentaires) { code += " # (UID " + __UID + " FIN) Instruction Blockly : " + __nomDansBlockly + "\n"; } if (__blocsInternes != null) { code += " " + Compilateur.codeSauteSéquence(UIDDuSéquenceur, __blocsInternes.premierBloc.UID + __blocsInternes.nombreDeSéquence, UID + 1); } else { code += " " + Compilateur.codeSauteSéquence(UIDDuSéquenceur, UID + 2, UID + 1); } return(code); }
// Séquence 3 : Séquence de FIN de Boucle_RépèteToutLeTemps // - Passe au premier bloc du groupe public String Séquence_3() { String code = ""; if (Compilateur.afficherLesCommentaires) { code += " # (UID " + __UID + " FIN) Instruction Blockly : " + __nomDansBlockly + "\n"; } // Boucle sur l'instruction de DEBUT de Boucle_RépèteToutLeTemps if (__blocsInternes != null) { code += " " + Compilateur.codeSauteSéquence(UIDDuSéquenceur, __blocsInternes.premierBloc.UID + __blocsInternes.nombreDeSéquence, UID); } else { code += " " + Compilateur.codeSauteSéquence(UIDDuSéquenceur, UID + 2, UID); } return(code); }
/* * Séquences */ // Séquence 1 // - Passe au premier bloc interne public String Séquence_1() { return(" " + Compilateur.codeSauteSéquence(UIDDuSéquenceur, UID, UID + 1)); }