2. Syntaxe#

evol_ther = CALC_META(
    ◆ reuse = <objet de RESULTAT>,
    ◇ MODELE = modele,
    ◇ CHAM_MATER = cham_mater,
    ◆ RESULTAT = evol_ther,
    ◆ OPTION = / "DURT_ELNO",
               / "DURT_NOEU",
               / "META_ELNO",
               / "META_NOEU",
    ◇ / TOUT = "OUI" (ou non renseigné),
      / GROUP_MA = grma,
    # Si: is_in('OPTION', ('META_ELNO','META_NOEU'))
        ◆ ETAT_INIT = _F(
             ◆ / EVOL_THER = evol_ther,
               / META_INIT_ELNO = carte,
             # Si: exists("EVOL_THER")
                 ◆ / NUME_INIT = int,
                   / INST_INIT = float,
                 # Si: exists("INST_INIT")
                     ◇ CRITERE = / "ABSOLU",
                                 / "RELATIF" (par défaut),
                     # Si: (equal_to("CRITERE", 'RELATIF'))
                         ◇ PRECISION = float (défaut: 1e-06),
                     # Si: (equal_to("CRITERE", 'ABSOLU'))
                         ◆ PRECISION = float,
          ),
        ◆ COMPORTEMENT = _F(
             ◆ RELATION = / "ACIER",
                          / "ACIER_REVENU",
                          / "ZIRC",
             # Si: equal_to("RELATION", 'ACIER')
                 ◇ LOI_META = "WAECKEL",
             # Si: equal_to("RELATION", 'ZIRC')
                 ◇ LOI_META = "EDGAR",
             ◇ / TOUT = "OUI" (ou non renseigné),
               / | GROUP_MA = grma,
          ),
        ◇ REVENU = _F(
             ◆ RELATION = "ACIER_REVENU" (ou non renseigné),
             # Si: equal_to("RELATION", 'ACIER_REVENU')
                 ◇ LOI_META = "JMA",
             ◇ / TOUT = "OUI" (ou non renseigné),
               / | GROUP_MA = grma,
          ),
)

◆ : obligatoire
◇ : optionnel
⟐ : présent par défaut
& : ensemble
/ : un seul parmi
| : plusieurs choix possibles