capsite

Ressources et outils pour la génération de ma capsule et de mon site
git clone git://git.asteride.xyz/~ldp/capsite.git
Journaux | Fichiers | Références

aplat.5.txt.cp (5210B)


      1 APLAT(5)                 Manuel des formats de fichier                APLAT(5)
      2 
      3 NOM
      4      aplat – Format de document structuré hiérarchiquement
      5 
      6 DESCRIPTION
      7      aplat est un format de document structuré hiérarchiquement conçu pour
      8      être facile à manipuler, aussi bien par un humain que par une machine.
      9 
     10      C’est le format qu’aplat(1) prend en entrée.
     11 
     12      Le format aplat est constitué de quatre types d’objet : domaine, atome,
     13      étiquette et contenu.
     14 
     15      Un domaine sectionne un document.  Ses limites sont notées par des
     16      parenthèses : les parenthèses ouvrante (‘(’) et fermante (‘)’) en
     17      marquent le début et la fin, respectivement.  Les limites de tout domaine
     18      (et plus généralement, de tout object) doivent être contenues à
     19      l’intérieur du domaine parent immédiat.  Le domaine racine, domaine
     20      absolument supérieur en ce qu’il n’a pas de parent et qu’il contient tous
     21      les autres domaines, fait exception à la règle.  Il va de soi que les
     22      parenthèses de tout domaine doivent être équilibrées.
     23 
     24      Lorsque l’étendue d’un domaine est la même que celle de son parent
     25      immédiat, il est possible d’utiliser le raccourcis syntaxique noté par un
     26      deux-points (‘:’).  Dans cette notation, à gauche du deux-points se
     27      trouve le domaine parent et à droite, le domaine enfant.  Il est possible
     28      d’ajouter de la sorte autant de domaines qu’on le souhaite, et que le
     29      permet la quantité mémoire disponible sur le système.
     30 
     31      Ces deux constructions sont donc équivalentes :
     32 
     33            (parent
     34              (intermédiaire
     35                (enfant "Contenu du domaine")))
     36 
     37            (parent:intermédiaire:enfant "Contenu du domaine")
     38 
     39      Une étiquette nomme un domaine.  Ce nom correspond au premier atome du
     40      domaine, à moins que le raccourcit syntaxique des deux-points ne soit
     41      utilisé.  En fait, on peut dire que le premier atome contient une
     42      étiquette de plus que de deux-points.  Ainsi, dans l’exemple ci-dessus,
     43      parent, intermédiaire et enfant sont des étiquettes.
     44 
     45      Le contenu d’un domaine correspond la concaténation de tous les atomes
     46      qu’il contient, excepté le premier, qui est l’étiquette.
     47 
     48      Finalement, un atome est une suite de caractères séparées par des
     49      parenthèses ou par des blancs.  Sont traités comme des blancs les
     50      caractères suivants : l’espace normale (‘ ’), le saut de ligne (‘\n’) et
     51      le caractère de tabulation (‘\t’).
     52 
     53      Il existe trois moyens d’échapper des caractères : l’utilisation de la
     54      barre oblique inversée (‘\\’), l’encadrement avec des guillemets droits
     55      doubles (‘"’) et l’encadrement avec une suite de trois de ces guillemets
     56      (‘"""’).
     57 
     58      Le caractère d’échappement (‘\’) change l’interprétation des caractères
     59      spéciaux.  Son effet varie selon le caractère échappé.  Les parenthèses,
     60      les espaces normaux, les caractères de tabulation, les guillemets et le
     61      caractère d’échappement lui-même sont interprétés dans leur sens littéral
     62      lorsque ce caractère les précède.  Cependant, une nouvelle ligne échappée
     63      est ignorée, et l’échappement de tout autre caractère est équivalent à ce
     64      même caractère sans échappement.
     65 
     66      Lorsqu’une chaîne de caractères est placée entre guillemets droits
     67      doubles (‘"’), les blancs et les parenthèses recoivent leur
     68      interprétation littérale.  Le comportement du caractère d’échappement est
     69      le même à l’intérieur de guillemets qu’à l’extérieur.  Les guillemets
     70      n’ont pas à se trouver aux extrémités des atomes mais fonctionnent plutôt
     71      comme des commutateurs réglant le mode d’interprétation.  Ils
     72      fonctionnent en cela comme les guillemets des interpréteurs de commandes
     73      Unix.
     74 
     75      La dernière stratégie d’échappement a recourt à un bloc.  Un bloc est
     76      délimité par une paire de triples guillemets droits doubles (‘"""’).  Les
     77      caractères qui se trouvent entre le triplet ouvrant et la première
     78      nouvelle ligne (‘\n’), inclusivement, et ceux qui se trouvent entre la
     79      dernière nouvelle ligne et le triplet fermant, inclusivement, sont
     80      ignorés.  Ces caractères ignorés peuvent servir à donner certaines
     81      informations à d’éventuels préprocesseurs.  Le texte qui se trouve à
     82      l’intérieur d’un bloc est interprété verbatim.  Une construction spéciale
     83      permet d’y inclure une suite de trois guillemets.  Il suffit de les faire
     84      suivre d’un point d’exclamation (‘!’)
     85 
     86      Ainsi, les trois constructions suivantes sont équivalentes :
     87 
     88            (doc
     89              (par Un\ bloc\ est\ limité\ par\ la\ suite\ \"\"\"\.))
     90 
     91            (doc
     92              (par "Un bloc est limité par la suite \"\"\"."))
     93 
     94            (doc
     95              (par
     96            """ type=texte
     97            Un bloc est limité par la suite """!.
     98            """))
     99 
    100 VOIR AUSSI
    101      aplat(1), plat(5)
    102 
    103 AUTEURS
    104      Selve <selve@asteride.xyz>
    105 
    106                                 25 janvier 2024