Le filtre cpp2pt

[P] [N] [T] [C] [F] [1]

Présentation:

cpp2pt.exe est un filtre qui extrait la documentation PT de fichiers conformes à la syntaxe du préprocesseur CPP tels que les fichiers de code en language C (.c, .cpp, .h, .lex, etc.).

Utilisation:

Ce filtre ne fait pas intégrante de la compilation PT. Il doit être employé indépendamment pour générer un fichier PT.

Description:

La conversion s'effectue de la manière suivante: le filtre cpp2pt distingue neuf parties différentes

  1. CPT désigne la documentation PT délimité par "/*@" et "@*/" ou simplement "*/". Elle peut contenir la partie suivante:
  2. CPTC désigne un commentaire à l'intérieur de la documentation PT. Délimité par "/@" et "@/". CPTC est interne à CPT.
  3. CPPPT désigne la documentation PT délimité par "//@" et le caractère "\n" (fin de ligne).
  4. CODE est la partie restante du texte. Elle peut contenir quatre autres parties:
  5. CCOM désigne les commentaires du C délimité par "/*" et "*/". CCOM est interne à CODE.
  6. CPPCOM désigne les commentaires du C++ délimité par "//" et le caractère "\n" (fin de ligne). CPPCOM est interne à CODE.
  7. CODESTRING désigne une chaîne de caractères délimité par deux caractères ". CODESTRING est interne à CODE.
  8. PP désigne les directives de preprocesseur CPP délimité par le caractère "#" en début de ligne et le caractère "\n" (fin de ligne) non précédé du caractère "\". PP est interne à CODE. Elle peut contenir la partie suivante:
  9. PPSTRING désigne une chaîne de caractères délimité par deux caractères ". PPSTRING est interne à PP.

Diagramme états-transitions du filtre cpp2pt

le filtre cpp2pt effectue les transformations suivantes: les délimiteurs sont supprimés (à l'exception des caractères "#" en début des partie PP) Le filtre cpp2pt effectue les transformation suivantes:

  1. les parties CPT et CPPPT sont délimitées par les macros d'environnement _bpt et _ept.
  2. les parites CPTC sont délimitées par "/*" et "*/". CPTC est interne à CPT.
  3. les parties CODE sont délimitées par les macros d'environnement _bcode et _ecode. De plus, la macro _ncode est insérée à chaque changement de ligne.
  4. les parties PP sont délimités par les macros d'environnement _bpp et _epp. De plus, la macro _npp est insérée à chaque changement de ligne.
  5. les parties CCOM sont délimitées par les macros d'environnement _bccomment et _eccomment et la macro _nccomment est insérée à chaque changement de ligne.
  6. les parties CPPCOM sont délimitées par les macros d'environnement _bcppcomment et _ecppcomment.

Enfin, pour la partie CODE et les parties incluses, les espaces et les caractères spéciaux de PT sont traités afin de rendre le code conforme à la syntaxe PT.

Utilisation:

Le filtre cpp2pt s'applique à tout fichier source conformes à la syntaxe du préprocesseur CPP tels que les fichiers de code en language C (.c, .cpp, .h, .lex, etc.) et les fichiers de macros du langage PT (.MAC, .PTI). Il permet d'extraire la documentation comprise à l'intérieur des commentaires du fichier source. Il permet également de formater le code du fichier source (le rendant compatible avec le format PT) afin de l'insérer dans la documentation.

cpp2pt a été concu de manière à inclure à l'intérieur des fichiers sources de macros (.MAC) leur propre documentation PT.

Syntaxe d'emploi:

La conversion d'un fichier FOO.MAC en un fichier FOO.PT s'effectue en employant la commande:

cpp2pt < FOO.MAC > FOO.PT