aplat

Documents structurés pour Unix
git clone git://git.asteride.xyz/~ldp/aplat.git
Journaux | Fichiers | Références | LISEZ-MOI | LICENCE

aplat.5 (4032B)


      1 .Dd 8 juin 2024
      2 .Dt APLAT 5
      3 .Os
      4 .Sh NOM
      5 .Nm aplat
      6 .Nd Format de document structuré hiérarchiquement
      7 .Sh DESCRIPTION
      8 .Nm aplat
      9 est un format de document structuré hiérarchiquement
     10 conçu pour être facile à
     11 écrire et manipuler
     12 par un humain.
     13 Et est équivalent
     14 au format
     15 .Xr plat 5 .
     16 .Pp
     17 C’est le format qu’\c
     18 .Xr aplat 1
     19 prend en entrée.
     20 .Pp
     21 Le format
     22 .Nm aplat
     23 est constitué de quatre types d’objet\~:
     24 .Em domaine ,
     25 .Em atome ,
     26 .Em étiquette
     27 et
     28 .Em contenu .
     29 .Pp
     30 Un
     31 .Em domaine
     32 sectionne un document.
     33 Ses limites sont notées par des parenthèses\~:
     34 les parenthèses ouvrante
     35 .Pq Sq \(
     36 et fermante
     37 .Pq Sq )\&
     38 en marquent le début et la fin, respectivement.
     39 Les limites de tout domaine
     40 (et plus généralement, de tout object)
     41 doivent être contenues à l’intérieur du
     42 .Em "domaine parent"
     43 immédiat.
     44 Le
     45 .Em "domaine racine" ,
     46 domaine absolument supérieur en ce qu’il n’a pas de parent
     47 et qu’il contient tous les autres domaines, fait exception à la règle.
     48 Les parenthèses de tout domaine doivent être équilibrées.
     49 .Pp
     50 Une
     51 .Em étiquette
     52 nomme un domaine.
     53 Ce nom correspond au premier
     54 .Em atome
     55 du domaine.
     56 La longueur d’une étiquette ne peut excéder les 127 octets.
     57 .Pp
     58 Le
     59 .Em contenu
     60 d’un domaine correspond la concaténation de tous les atomes qu’il contient,
     61 excepté le premier, qui contient l’\c
     62 .Em étiquette .
     63 .Pp
     64 Finalement, un
     65 .Em atome
     66 est une suite de caractères limitée par des parenthèses ou par des blancs.
     67 Sont traités comme des blancs les caractères suivants\~:
     68 l’espace normale
     69 .Pq Sq \  ,
     70 le saut de ligne
     71 .Pq Sq \en
     72 et le caractère de tabulation
     73 .Pq Sq \et .
     74 .Pp
     75 Il existe trois moyens d’échapper des caractères\~: l’utilisation de la barre
     76 oblique inversée
     77 .Pq Sq \e ,
     78 l’encadrement avec des guillemets droits doubles
     79 .Pq Sq \(dq
     80 et l’encadrement avec des signes d’égalité en début de ligne.
     81 .Pq Sq \en= .
     82 .Pp
     83 Le caractère d’échappement
     84 .Pq Sq \e
     85 change l’interprétation des caractères spéciaux.
     86 Son effet varie selon le caractère échappé.
     87 Un nouvelle ligne échappée
     88 est ignorée.
     89 Les autres caractères échappés,
     90 dont
     91 les parenthèses,
     92 les espaces normales,
     93 les caractères de tabulation,
     94 les guillemets
     95 et les caractères d’échappement eux-mêmes,
     96 reçoivent une interprétation littérale.
     97 .Pp
     98 Lorsqu’une chaîne de caractères est placée entre guillemets droits doubles
     99 .Pq Sq \(dq ,
    100 les blancs
    101 et les parenthèses
    102 recoivent leur interprétation littérale.
    103 Le comportement du caractère d’échappement est le même à l’intérieur de
    104 guillemets qu’à l’extérieur.
    105 Les guillemets n’ont pas à se trouver aux extrémités des atomes
    106 mais fonctionnent plutôt comme des commutateurs
    107 réglant le mode d’interprétation.
    108 Ils ressemblent en cela
    109 aux guillemets des interpréteurs de commandes Unix.
    110 .Pp
    111 La dernière stratégie d’échappement a recours à un
    112 .Em bloc .
    113 Un bloc est délimité par une paire de signes d’égalité
    114 placés en début de ligne
    115 .Pq Sq \en= .
    116 Les caractères qui se trouvent
    117 sur les mêmes lignes que ces signes d’égalité
    118 sont ignorés.
    119 Ils peuvent ainsi servir à donner certaines informations à
    120 d’éventuels préprocesseurs.
    121 Le texte qui se trouve à l’intérieur d’un bloc est interprété
    122 .Em verbatim .
    123 Les séparateurs de blocs sont interprétés comme tels
    124 en tout temps,
    125 et les mécanismes d’échappement normaux
    126 n’ont aucun effet sur lui.
    127 Une construction spéciale
    128 permet d’échapper
    129 des signes d’égalité 
    130 en début de ligne.
    131 Il suffit de les faire suivre
    132 d’un point d’exclamation
    133 .Pq Sq !\& .
    134 Un bloc
    135 peut être enchâssé
    136 entre une paire de guillemets.
    137 .Pp
    138 Les deux constructions suivantes sont équivalentes\~:
    139 .Bd -literal -offset indent
    140 (doc
    141   (par "La ligne qui suit commence par un signe d’égalité\~:
    142 =!"))
    143 .Ed
    144 .Bd -literal -offset indent
    145 (doc
    146   (par
    147 = type:texte
    148 La ligne qui suit commence par un signe d’égalité\~:
    149 =!
    150 =
    151 ))
    152 .Ed
    153 .Sh VOIR AUSSI
    154 .Xr aplat 1 ,
    155 .Xr plat 5
    156 .Sh AUTEURS
    157 .An Loïc Daignault-Pichette <loic@asteride.xyz>