2. Syntax#

listr8 = MACR_RECAL (
    ◆ UNITE_ESCL = unit,
    ◇ & RESU_EXP = not_checked,
      /LIST_PARA = not_checked,
    ◇/COURBE = _F (
           ◆ FONC_EXP = function,
           ◆ NOM_FONC_CALC = text,
           ◆ PARA_X = text,
           ◆ PARA_Y = text,
           ◇ POIDS = float,
        ),
    ◆/PARA_OPTI = _F (
           ◆ NOM_PARA = text,
           ◆ VALE_INI = float,
           ◆ VALE_MIN = float,
           ◆ VALE_MAX = float,
        ),
      /LIST_POIDS = not_checked,
    ◇ & RESU_CALC = not_checked,
    ◇ UNITE_RESU = unit (default: 91),
    ◇ PARA_DIFF_FINI = float (default: 1e-05),
    ◇ GRAPHIQUE = _F (
         ◇ FORMAT =/"XMGRACE" (by default),
                    /"GNUPLOT ",
         ◇ AFFICHAGE =/"TOUTE_ITERATION" (by default),
                       /"ITERATION_FINALE ",
         ◇ UNITE = unit (default: 29),
         # If: equal_to (" FORMAT ", 'XMGRACE')
             ◇ PILOTE =/"" (by default),
                        /"POSTSCRIPT ",
                        /"EPS ",
                        /"MIF ",
                        /"SVG ",
                        /"PNM ",
                        /"PNG ",
                        /"JPEG ",
                        /"PDF ",
                        /"INTERACTIF ",
                        /"INTERACTIF_BG ",
      ),
    ◇ METHODE =/"LEVENBERG" (by default),
                /"FMIN ",
                /"FMINBFGS ",
                /"FMINNCG ",
                /"GENETIQUE ",
                /"HYBRIDE ",
    # If: equal_to (" METHODE ", 'GENETIQUE') or equal_to (" METHODE ", 'HYBRIDE')
        ◇ NB_PARENTS = int (default: 10),
        ◇ NB_FILS = int (default: 5),
        ◇ ECART_TYPE = float (default: 1.0),
        ◇ GRAINE = int,
        ◇ ITER_ALGO_GENE = int (default: 10),
        ◇ RESI_ALGO_GENE = float (default: 0.001),
    ◇ ITER_MAXI = int (default: 10),
    ◇ ITER_FONC_MAXI = int (default: 1000),
    ◇ RESI_GLOB_RELA = float (default: 0.001),
    ◇ TOLE_PARA = float (default: 1e-08),
    ◇ TOLE_FONC = float (default: 1e-08),
    # If: equal_to (" METHODE ", 'FMINBFGS')
        ◇ GRADIENT =/"NON_CALCULE" (by default),
                     /"NORMAL ",
                     /"ADIMENSIONNE ",
    # If: equal_to (" METHODE ", 'FMINNCG')
        ◆ GRADIENT =/"NORMAL ",
                     /"ADIMENSIONNE ",
    # If: equal_to (" METHODE ", 'LEVENBERG')
        ◇ GRADIENT =/"NORMAL" (by default),
                     /"ADIMENSIONNE ",
    CALCUL_ESCLAVE = _F (
         ◇ LANCEMENT =/"DISTRIBUTION ",
                       /"INCLUSION" (by default),
         # If: equal_to (" LANCEMENT ", 'DISTRIBUTION')
             ◇ UNITE_SUIVI = unit (default: 29),
             ◇ MODE =/"INTERACTIF ",
                      /"BATCH ",
             ◇ MEMOIRE = int,
             ◇ TEMPS = int,
             ◇ MPI_NBCPU = int,
             ◇ MPI_NBNOEUD = int,
             ◇ CLASSE = text,
             ◇ NMAX_SIMULT = int,
      ),
    ◇ DYNAMIQUE = _F (
         ◆ MODE_EXP = text,
         ◆ MODE_CALC = text,
         ◇ APPARIEMENT_MANUEL =/"OUI ",
                                /"NON" (by default),
      ),
    ◇ INFO =/1 (by default),
             /2,
)

◆: mandatory
◇: optional
: present by default
&: together
/: only one among
|: several possible choices