III.6 Syntaxe
{} signifie que le contenu est facultatif

III.6.1  Les blocs déclaratifs

III.6.1.1 . Les blocs de chaînes de références

D_<numéro sur 3 caractères>_<commentaire libre >
<corps du bloc1>
<corps du bloc2>
...
<corps du blocn>
F_<commentaire libre>


<corps du bloc> : 
[<code1>{,<critère1><valeur1>}{,<critèren><valeurn>}]{[<coden>{,<critère1><valeur1>}{,<critère n><valeur n>}]}

Important : Le numéro du bloc doit être unique dans le cadre des blocs de chaîne
de référence, il sert à indexer la chaîne de référence


Exemple :
D_010_Erreur hierarchie code Z probable
[B18,ds-2][B20,ds-2][B21,ds-2][B22,ds-2][B23,ds-2][E,ds-2][G,ds-2][I,ds-2][N0,ds-2][N18,ds-2]
[M890,ds-2][K703,ds-2][M511,ds-2][R501,ds-2]
F_010


III.6.1.2 . Les blocs de règles

D_<numéro sur 3 caractère>_<commentaire libre >
Règle
F_<commentaire libre>

Important : Le numéro du bloc doit être unique dans le cadre des blocs de
règles, il sert à indexer l’intitulé de la règle (commentaire libre) qui sera
transmis dans le fichier de sortie. Une règle et un bloc de chaîne de référence
peuvent partager le même numéro.


Règle = OP1(Arg1;Arg2) ou OP2(Arg1) ou OP3(cible,référence)

Arg1 = Arg2 = OP1 ou OP2 ou OP3 ou règle

OP1 = ET, OU
OP2 = NON
OP3 = DANS

cible = DP{[critère1{,critère n}]} ou DR{[critère1{,critère n}]} 
ou DS{[critère1{,critère n}]} ou DD{[critère1{,critère n}]}
ou DA{[critère1{,critère n}]} ou DG{[critère1{,critère n}]}
ou DT{[critère1{,critère n}]} ou AC{[critère1{,critère n}]}
ou CD{[critère1{,critère n}]} ou GH{[critère1{,critère n}]}
ou RI{[critère1{,critère n}]}
Important : noter la virgule entre les critères

référence = [<code1>{,<critère 1><valeur 1>}{,<critère n><valeur n>}]
            {[<code n>{,<critère 1><valeur 1>} {,<critère n><valeur n>}]}

Important : noter la virgule entre code et critère 

ou 
[*{,<critère 1><valeur 1>}{,<critère n><valeur n>}]

ou
$D_<numéro de chaîne de référence>

ou
*CDAMDG ou *CDAMTH ou *CMA ou *GHM ou
   *<référence externe définie par l'utilisateur cf. III.3.3.1>

III.7 Exemple de feuille de règles

Ouvrir le fichier CTRIDFxx.dat 

III.8 Contrôleur de syntaxe : verif01.exe

Un utilitaire permet de tester la validité syntaxique des règles :
 verif01 <nom de la feuille de règle à vérifier>

III.9 Quelques rappels

Les nombres de parenthèses ouvrantes et fermantes doivent être égaux.

Il ne doit jamais y avoir d'espace ni dans une chaîne de référence, ni dans une
règle.

Une chaîne de référence peut être définie sur plusieurs lignes.

La longueur d'une règle ne doit pas excéder 255 caractères. En cas de retour à
la ligne, vérifier qu'il n'y a pas de retour chariot.

L'interprétation stoppe si le premier membre d'un OU est vrai, ou encore si le
premier membre d'un ET est faux. En choisissant judicieusement l'ordre des
opérateurs, on peut optimiser le temps de recherche.