NOM
compile_et − Compilateur de table d’erreur
SYNOPSIS
compile_et fichier
DESCRIPTION
Compile_et convertit une table listant des noms de code d’erreur et les messages associés en un fichier de sources C utilisable avec la bibliothèque com_err(3).
Le nom du fichier source doit se terminer par le suffixe « .et » ; le fichier consiste en une déclaration fournissant le nom (jusqu’à quatre caractères) de la table d’erreurs :
error_table nom
suivie d’au plus 256 entrées de la forme :
error_code nom, " chaîne "
se terminant par un
end
qui indique la fin de la table.
Le nom de la table sert à construire une fonction initialize_XXXX_error_table, qui doit être appelée de façon à ce que la bibliothèque com_err reconnaisse la table d’erreurs.
Les différents codes d’erreur sont assignés en incrémentant les numéros séquentiellement (en démarrant par un numéro élevé calculé comme une fonction de hachage du nom de la table) ; ainsi pour des raisons de compatibilité, il est conseillé de toujours ajouter les nouveaux codes d’erreur à la fin d’une table existante, et de ne pas supprimer de codes des tables.
Les noms définis dans la table sont placés dans un fichier d’en−tête C par des directives du préprocesseur qui les définissent comme des constantes entières pouvant utiliser jusqu’à 32 bits.
Un fichier de sources C est aussi généré. Il devra être compilé et lié avec les fichiers objets qui font référence à ces codes d’erreur ; il contient le texte des messages et la fonction d’initialisation. Les deux fichiers C ont des noms dérivés du fichier source d’origine, avec les suffixes « .et » remplacés par « .c » et « .h ».
Un « # » dans le fichier source est considéré comme un caractère de commentaire, et le contenu jusqu’à la fin de la ligne est ignoré.
BOGUES
Comme la version originale de compile_et utilise un analyseur très simple en yacc(1), et que cette version de compile_et utilise une combinaison de scripts awk/sed, sa gestion des erreurs laisse à désirer.
VOIR AUSSI
Ken Raeburn, « A Common Error Description Library for UNIX » (une bibliothèque générique de description d’erreurs pour UNIX).
TRADUCTION
La traduction de cette page de manuel est maintenue par les membres de la liste <debian−l10n−french AT lists DOT debian DOT org>. Veuillez signaler toute erreur de traduction par un rapport de bogue sur le paquet manpages−fr−extra.