NOM
jeu.rules - Jeu de règles pour acheck
Les fichiers de jeu de règles contiennent les règles qu’acheck doit
vérifier.
Les lignes commençant par un dièse (« # ») et les lignes vides sont
ignorées. Les espaces au début et à la fin d’une ligne sont aussi
ignorés ainsi que les tabulations. Si vous avez besoin d’espaces à la
fin ou au début d’une valeur, vous pouvez utilisez des guillemets
anglo-saxons (« " »). Un commentaire commence par un dièse, il peut y
avoir des espaces ou des tabulations devant le dièse. Les lignes
longues peuvent être coupées en plusieurs lignes se terminant par une
barre oblique inversée (« \ »).
Quelques exemples :
# cette ligne est ignorée
champ valeur
champ valeur # ceci est un commentaire
champ "valeur avec espaces à la fin "
champ valeur\
se poursuivant sur la ligne suivante
Vous devez protéger le caractère dièse avec une barre oblique inversée
si vous voulez l’utiliser dans une valeur et utiliser des apostrophes
si une valeur contient une barre oblique inversée.
Les jeux de règles sont constitués de listes de règles. Ces listes
peuvent être répétées un certain nombre de fois, jusqu’à ce que ou tant
qu’une condition est vérifiée.
Une règle détecte une erreur si le test correspondant est vrai et
qu’aucun de ses tests de validation ne l’est. Chaque règle peut
produire des corrections, un avertissement ou une erreur, et fournir
des commentaires pour aider l’opérateur à corriger l’erreur.
Des parties du texte peuvent être définies comme commentaires et ainsi
aucune règle ni vérification orthographique de sera faite dessus.
FICHIER DE RÈGLES
RÈGLES DE SYNTAXE
list
Une liste débute à une indication « list » et se termine au premier
« end_list » ou à la fin du fichier.
Champs obligatoires :
type type
until, répète la liste jusqu’à ce que la ligne courante vérifie
« test » ;
while, répète la liste tant que la ligne courante vérifie
« test » ;
loop, répète la liste « test » fois.
test regex / nombre
Une expression rationnelle pour les listes « until » et « while ».
Le nombre de fois que la liste doit être répétée pour « loop », ou
« 0 » pour une boucle infinie.
Champs optionnels :
name nom
Utilisez ceci pour nommer la liste.
spell yes / no
Positionner à « yes » (oui, valeur par défaut) ou « no » (non),
selon que vous voulez ou pas que l’orthographe soit vérifiée pour
les lignes de cette liste. Cette valeur est héritée par les
sous-listes.
Sous-règles :
list [nom]
rule [nom]
comment [nom]
Suivi par le nom de la sous-règle ou sa définition pour une
sous-règle anonyme.
rule
Une règle débute à une indication « rule » et se termine au premier
« end_rule » ou au début d’un commentaire ou d’une liste.
Champs obligatoires :
type type
fix, règle fournissant dans corrections et des commentaires dans un
menu ;
autofix, règle corrigeant une erreur sans intéraction ;
warning, règle produisant un avertissement ;
error, règle produisant une erreur ;
nop, règle spéciale ne faisant rien, les autres champs ne sont pas
obligatoires.
regex regex
L’expression rationnelle qui doit être vérifiée pour trouver cette
erreur. Des motifs peuvent être capturés pour être utilisés ensuite
dans les expressions « fix ».
fix expression
Fournit une correction pour la règle, ce champ peut être répété
pour fournir plusieurs choix. Seule la première est utilisée pour
les règles « autofix ». Les règles « warning » et « error » ne
fournissent pas de correction. Les motifs capturés sont utilisables
ici avec les variables « $1 », « $2 », etc.
hint texte
Fournit des explications, elles sont utilisées comme commentaire de
relecture en mode relecture.
Champs optionnels :
name nom
Utilisez ceci pour nommer la règle.
valid [name]
Fournit un test de validation, il peut être nommé ou anonyme. Pour
les validations anonymes, la définition du test doit suivre. Ce
champ peut être répété plusieurs fois, il suffit que l’un des tests
de validation soit réussi pour que la règle ne soit pas appliquée.
valid
Un test de validation débute à une indication « valid » et se termine
au premier « end_valid » ou au début d’une règle, d’un commentaire,
d’une liste, ou d’un autre test de validation.
Champs obligatoires :
pre regex
in regex
post regex
Teste les expressions rationnelles, avant, dans et après le motif
trouvé par l’expression rationnelle de la règle. Au moins l’un de
ces test doit être fourni. Si tous les tests réussissent, la règle
n’est pas appliquée.
Champ optionnel :
name nom
Utilisez ceci pour nommer le test.
comment
Un commentaire débute à une indication « comment » et se termine au
premier « end_comment » ou au début d’une règle, d’un commentaire ou
d’une liste.
Champs obligatoires :
skip regex
Une expression rationnelle correspondant au texte du commentaire.
Ne pas utiliser « start » ou « stop » avec ceci.
start regex
stop regex
Expressions rationnelles définissant le début et la fin d’un
commentaire, tout le texte contenu entre est considéré comme
commentaire. Ne pas utiliser « skip » avec ceci.
Champs optionnels :
name nom
Utilisez ceci pour nommer le commentaire.
start_offset
stop_offset
Définit où le commentaire commence et s’arrête réellement. Les
valeurs possibles sont « s » pour le début du motif trouvé,
« s+<n> » pour n caractères après le début du motif, « e » pour la
fin du motif, ou « e-<n> » pour n caractères avant la fin du motif.
Par défaut, « s » est utilisé pour les motifs de début de
commentaire, et « e » pour ceux de fin.
VOYEZ AUSSI
acheck(1), acheck(5)
AUTEUR
Nicolas Bertolissio <nico.bertol@free.fr>