.\" Automatically generated by Pod::Man 4.10 (Pod::Simple 3.35) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "ACHECK-RULES.FR.5 5" .TH ACHECK-RULES.FR.5 5 "2019-08-25" "perl v5.28.1" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NOM" .IX Header "NOM" jeu.rules \- Jeu de re\*`gles pour acheck .SH "DESCRIPTION" .IX Header "DESCRIPTION" Les fichiers de jeu de re\*`gles contiennent les re\*`gles qu'acheck doit ve\*'rifier. .PP Les lignes commenc\*,ant par un die\*`se (X\ \fB#\fR\ X) et les lignes vides sont ignore\*'es. Les espaces au de\*'but et a\*` la fin d'une ligne sont aussi ignore\*'s ainsi que les tabulations. Si vous avez besoin d'espaces a\*` la fin ou au de\*'but d'une valeur, vous pouvez utilisez des guillemets anglo-saxons (X\ \fB"\fR\ X). Un commentaire commence par un die\*`se, il peut y avoir des espaces ou des tabulations devant le die\*`se. Les lignes longues peuvent e\*^tre coupe\*'es en plusieurs lignes se terminant par une barre oblique inverse\*'e (X\ \fB\e\fR\ X). .PP Quelques exemples\ : .PP .Vb 6 \& # cette ligne est ignore\*'e \& champ valeur \& champ valeur # ceci est un commentaire \& champ "valeur avec espaces a\*` la fin " \& champ valeur\e \& se poursuivant sur la ligne suivante .Ve .PP Vous devez prote\*'ger le caracte\*`re die\*`se avec une barre oblique inverse\*'e si vous voulez l'utiliser dans une valeur et utiliser des apostrophes si une valeur contient une barre oblique inverse\*'e. .PP Les jeux de re\*`gles sont constitue\*'s de listes de re\*`gles. Ces listes peuvent e\*^tre re\*'pe\*'te\*'es un certain nombre de fois, jusqu'a\*` ce que ou tant qu'une condition est ve\*'rifie\*'e. .PP Une re\*`gle de\*'tecte une erreur si le test correspondant est vrai et qu'aucun de ses tests de validation ne l'est. Chaque re\*`gle peut produire des corrections, un avertissement ou une erreur, et fournir des commentaires pour aider l'ope\*'rateur a\*` corriger l'erreur. .PP Des parties du texte peuvent e\*^tre de\*'finies comme commentaires et ainsi aucune re\*`gle ni ve\*'rification orthographique de sera faite dessus. .SH "FICHIER DE RE\*`GLES" .IX Header "FICHIER DE RE`GLES" .SH "RE\*`GLES DE SYNTAXE" .IX Header "RE`GLES DE SYNTAXE" .SS "list" .IX Subsection "list" Une liste de\*'bute a\*` une indication X\ \fIlist\fR\ X et se termine au premier X\ \fIend_list\fR\ X ou a\*` la fin du fichier. .PP Champs obligatoires\ : .IP "\fItype\fR type" 4 .IX Item "type type" .RS 4 .PD 0 .IP "\fIuntil\fR, re\*'pe\*`te la liste jusqu'a\*` ce que la ligne courante ve\*'rifie X\ \fItest\fR\ X\ ;" 4 .IX Item "until, re'pe`te la liste jusqu'a` ce que la ligne courante ve'rifie XtestX;" .IP "\fIwhile\fR, re\*'pe\*`te la liste tant que la ligne courante ve\*'rifie X\ \fItest\fR\ X\ ;" 4 .IX Item "while, re'pe`te la liste tant que la ligne courante ve'rifie XtestX;" .IP "\fIloop\fR, re\*'pe\*`te la liste X\ \fItest\fR\ X fois." 4 .IX Item "loop, re'pe`te la liste XtestX fois." .RE .RS 4 .RE .IP "\fItest\fR regex / nombre" 4 .IX Item "test regex / nombre" .PD Une expression rationnelle pour les listes X\ \fIuntil\fR\ X et X\ \fIwhile\fR\ X. Le nombre de fois que la liste doit e\*^tre re\*'pe\*'te\*'e pour X\ \fIloop\fR\ X, ou X\ 0\ X pour une boucle infinie. .PP Champs optionnels\ : .IP "\fIname\fR nom" 4 .IX Item "name nom" Utilisez ceci pour nommer la liste. .IP "\fIspell\fR yes / no" 4 .IX Item "spell yes / no" Positionner a\*` X\ \fIyes\fR\ X (oui, valeur par de\*'faut) ou X\ no\ X (non), selon que vous voulez ou pas que l'orthographe soit ve\*'rifie\*'e pour les lignes de cette liste. Cette valeur est he\*'rite\*'e par les sous-listes. .PP Sous\-re\*`gles\ : .IP "\fIlist\fR [nom]" 4 .IX Item "list [nom]" .PD 0 .IP "\fIrule\fR [nom]" 4 .IX Item "rule [nom]" .IP "\fIcomment\fR [nom]" 4 .IX Item "comment [nom]" .PD Suivi par le nom de la sous\-re\*`gle ou sa de\*'finition pour une sous\-re\*`gle anonyme. .SS "rule" .IX Subsection "rule" Une re\*`gle de\*'bute a\*` une indication X\ \fIrule\fR\ X et se termine au premier X\ \fIend_rule\fR\ X ou au de\*'but d'un commentaire ou d'une liste. .PP Champs obligatoires\ : .IP "\fItype\fR type" 4 .IX Item "type type" .RS 4 .PD 0 .IP "\fIfix\fR, re\*`gle fournissant dans corrections et des commentaires dans un menu\ ;" 4 .IX Item "fix, re`gle fournissant dans corrections et des commentaires dans un menu;" .IP "\fIautofix\fR, re\*`gle corrigeant une erreur sans inte\*'raction\ ;" 4 .IX Item "autofix, re`gle corrigeant une erreur sans inte'raction;" .IP "\fIwarning\fR, re\*`gle produisant un avertissement\ ;" 4 .IX Item "warning, re`gle produisant un avertissement;" .IP "\fIerror\fR, re\*`gle produisant une erreur\ ;" 4 .IX Item "error, re`gle produisant une erreur;" .IP "\fInop\fR, re\*`gle spe\*'ciale ne faisant rien, les autres champs ne sont pas obligatoires." 4 .IX Item "nop, re`gle spe'ciale ne faisant rien, les autres champs ne sont pas obligatoires." .RE .RS 4 .RE .IP "\fIregex\fR regex" 4 .IX Item "regex regex" .PD L'expression rationnelle qui doit e\*^tre ve\*'rifie\*'e pour trouver cette erreur. Des motifs peuvent e\*^tre capture\*'s pour e\*^tre utilise\*'s ensuite dans les expressions X\ \fIfix\fR\ X. .IP "\fIfix\fR expression" 4 .IX Item "fix expression" Fournit une correction pour la re\*`gle, ce champ peut e\*^tre re\*'pe\*'te\*' pour fournir plusieurs choix. Seule la premie\*`re est utilise\*'e pour les re\*`gles X\ \fIautofix\fR\ X. Les re\*`gles X\ \fIwarning\fR\ X et X\ \fIerror\fR\ X ne fournissent pas de correction. Les motifs capture\*'s sont utilisables ici avec les variables X\ \fI\f(CI$1\fI\fR\ X, X\ \fI\f(CI$2\fI\fR\ X, etc. .IP "\fIhint\fR texte" 4 .IX Item "hint texte" Fournit des explications, elles sont utilise\*'es comme commentaire de relecture en mode relecture. .PP Champs optionnels\ : .IP "\fIname\fR nom" 4 .IX Item "name nom" Utilisez ceci pour nommer la re\*`gle. .IP "\fIvalid\fR [name]" 4 .IX Item "valid [name]" Fournit un test de validation, il peut e\*^tre nomme\*' ou anonyme. Pour les validations anonymes, la de\*'finition du test doit suivre. Ce champ peut e\*^tre re\*'pe\*'te\*' plusieurs fois, il suffit que l'un des tests de validation soit re\*'ussi pour que la re\*`gle ne soit pas applique\*'e. .SS "valid" .IX Subsection "valid" Un test de validation de\*'bute a\*` une indication X\ \fIvalid\fR\ X et se termine au premier X\ \fIend_valid\fR\ X ou au de\*'but d'une re\*`gle, d'un commentaire, d'une liste, ou d'un autre test de validation. .PP Champs obligatoires\ : .IP "\fIpre\fR regex" 4 .IX Item "pre regex" .PD 0 .IP "\fIin\fR regex" 4 .IX Item "in regex" .IP "\fIpost\fR regex" 4 .IX Item "post regex" .PD Teste les expressions rationnelles, avant, dans et apre\*`s le motif trouve\*' par l'expression rationnelle de la re\*`gle. Au moins l'un de ces test doit e\*^tre fourni. Si tous les tests re\*'ussissent, la re\*`gle n'est pas applique\*'e. .PP Champ optionnel\ : .IP "\fIname\fR nom" 4 .IX Item "name nom" Utilisez ceci pour nommer le test. .SS "comment" .IX Subsection "comment" Un commentaire de\*'bute a\*` une indication X\ \fIcomment\fR\ X et se termine au premier X\ \fIend_comment\fR\ X ou au de\*'but d'une re\*`gle, d'un commentaire ou d'une liste. .PP Champs obligatoires\ : .IP "\fIskip\fR regex" 4 .IX Item "skip regex" Une expression rationnelle correspondant au texte du commentaire. Ne pas utiliser X\ \fIstart\fR\ X ou X\ \fIstop\fR\ X avec ceci. .IP "\fIstart\fR regex" 4 .IX Item "start regex" .PD 0 .IP "\fIstop\fR regex" 4 .IX Item "stop regex" .PD Expressions rationnelles de\*'finissant le de\*'but et la fin d'un commentaire, tout le texte contenu entre est conside\*'re\*' comme commentaire. Ne pas utiliser X\ \fIskip\fR\ X avec ceci. .PP Champs optionnels\ : .IP "\fIname\fR nom" 4 .IX Item "name nom" Utilisez ceci pour nommer le commentaire. .IP "\fIstart_offset\fR" 4 .IX Item "start_offset" .PD 0 .IP "\fIstop_offset\fR" 4 .IX Item "stop_offset" .PD De\*'finit ou\*` le commentaire commence et s'arre\*^te re\*'ellement. Les valeurs possibles sont X\ \fIs\fR\ X pour le de\*'but du motif trouve\*', X\ \fIs+\fR\ X pour \fIn\fR caracte\*`res apre\*`s le de\*'but du motif, X\ \fIe\fR\ X pour la fin du motif, ou X\ \fIe\-\fR\ X pour \fIn\fR caracte\*`res avant la fin du motif. Par de\*'faut, X\ \fIs\fR\ X est utilise\*' pour les motifs de de\*'but de commentaire, et X\ \fIe\fR\ X pour ceux de fin. .SH "VOYEZ AUSSI" .IX Header "VOYEZ AUSSI" \&\fBacheck\fR\|(1), \fBacheck\fR\|(5) .SH "AUTEUR" .IX Header "AUTEUR" Nicolas Bertolissio