2. Syntaxe#

table = MACR_SPECTRE(
    ◇ MAILLAGE = maillage,
    # Si: exists("MAILLAGE")
        ◆ PLANCHER = _F(
             ◆ NOM = text,
             ◇ BATIMENT = text,
             ◇ COMMENTAIRE = text,
             ◆ | GROUP_NO = grno,
          ),
    # Si: not exists("MAILLAGE")
        ◆ PLANCHER = _F(
             ◆ NOM = text,
             ◇ BATIMENT = text,
             ◇ COMMENTAIRE = text,
             ◆ NOEUD = no,
          ),
    ◆ NOM_CHAM = / "ACCE",
                 / "DEPL",
    ◆ CALCUL = / "ABSOLU",
               / "RELATIF",
    ◇ ENVELOPPE = / "NON" (par défaut),
                  / "OUI",
    # Si: equal_to("NOM_CHAM", 'ACCE') and equal_to("CALCUL", 'RELATIF')
        ◆ AMOR_SPEC = float,
        ◇ LIST_INST = listr8,
        ◆ / LIST_FREQ = listr8,
          / FREQ = float,
        ◆ NORME = float,
        ◆ RESU = _F(
             ◆ / TABLE = table,
               / RESU_GENE = tran_gene,
               / RESULTAT = dyna_trans / evol_noli,
             ◆ ACCE_X = fonction,
             ◆ ACCE_Y = fonction,
             ◆ ACCE_Z = fonction,
          ),
    # Si: equal_to("NOM_CHAM", 'ACCE') and equal_to("CALCUL", 'ABSOLU')
        ◆ AMOR_SPEC = float,
        ◇ LIST_INST = listr8,
        ◆ / LIST_FREQ = listr8,
          / FREQ = float,
        ◆ NORME = float,
        ◆ RESU = _F(
             ◆ / TABLE = table,
               / RESU_GENE = tran_gene,
               / RESULTAT = dyna_trans / evol_noli,
          ),
        ◇ MULT_APPUI = "OUI" (ou non renseigné),
    # Si: equal_to("NOM_CHAM", 'ACCE')
        ◇ IMPRESSION = _F(
             ◇ TRI = / "AMOR_SPEC" (par défaut),
                     / "DIRECTION",
             ◇ FORMAT = / "TABLEAU" (par défaut),
                        / "XMGRACE",
             ◇ UNITE = unit (défaut: 29),
             # Si: equal_to("FORMAT", 'XMGRACE')
                 ◇ PILOTE = / "" (par défaut),
                            / "EPS",
                            / "INTERACTIF",
                            / "JPEG",
                            / "MIF",
                            / "PDF",
                            / "PNG",
                            / "PNM",
                            / "POSTSCRIPT",
                            / "SVG",
             ◇ TOUT = / "NON" (par défaut),
                      / "OUI",
          ),
    # Si: equal_to("NOM_CHAM", 'DEPL') and equal_to("CALCUL", 'RELATIF')
        ◇ LIST_INST = listr8,
        ◆ RESU = _F(
             ◆ / TABLE = table,
               / RESU_GENE = tran_gene,
               / RESULTAT = dyna_trans / evol_noli,
          ),
    # Si: equal_to("NOM_CHAM", 'DEPL') and equal_to("CALCUL", 'ABSOLU')
        ◇ LIST_INST = listr8,
        ◆ RESU = _F(
             ◆ / TABLE = table,
               / RESU_GENE = tran_gene,
               / RESULTAT = dyna_trans / evol_noli,
             ◆ DEPL_X = fonction,
             ◆ DEPL_Y = fonction,
             ◆ DEPL_Z = fonction,
          ),
)

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