Beispiel #1
0
        /*
         * 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);
        }
Beispiel #4
0
        /*
         * 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);
        }
Beispiel #8
0
        /*
         * Séquences
         */

        // Séquence 1
        // - Passe au premier bloc interne
        public String  Séquence_1()
        {
            return("  " + Compilateur.codeSauteSéquence(UIDDuSéquenceur, UID, UID + 1));
        }