/*~30/09/93 10.19.16! histo_update N */ /* Met a jour un fichier .NAH … partir d'un fichier .NAP Retourne -1 si erreur Si le fichier .NAH n'existe pas, il est cr‚‚ */ int histo_update( const char *fnah, const char *fnap) /*~17/08/93 22.43.22! nacom_initindex N */ /* Initialisation de l'index des sp‚cifications extraites des sources. Retourne -1 si erreur. */ int nacom_initindex( COM_INDEX *comi) /*~17/08/93 22.43.22! nacom_freeindex N */ /* LibŠre le contenue complet d'un COM_INDEX */ void nacom_freeindex( COM_INDEX *comi) /*~17/08/93 22.43.22! nacom_addspec N */ /* Ajoute l'information sur une sp‚cification dans l'index */ void nacom_addspec( COM_INDEX *comi, const char *ident, /* Type de sp‚cification */ const char *fname, long offset, int noline, char *tbcle[], int nbcle, int specbeg) /* Format standard ou // #specbeg: // #Specend: */ /*~17/08/93 22.43.22! nacom_parse N */ /* D‚compose une cl‚ d'identification de sp‚cification. Retourne le nombre de chaine plac‚ dans tbcle. La chaine src est modifi‚. */ int nacom_parse( char *src, char *tbcle[]) /*~17/08/93 22.43.22! nacom_scansrc N */ /* Extraction des commentaires sp‚cifications d'une s‚rie de fichier. Balaye les fichiers sources … la recherche des commentaires et fabrique un index. Recherche la s‚quence COMMENTAIRE #Mot-cle: classement / ... Retient le classement dans un index et la position dans le fichier. Retourne le nombre d'‚l‚ments plac‚s dans l'index. */ int nacom_scansrc( COM_INDEX *comi, const char *fname) /* Fichier source … lire */ /* Ne retourne pas si fichier existe pas */ /*~17/08/93 22.43.22! nacom_format N */ /* Formatte l'entete du sp‚cification selon le format d'origine dans le source */ void nacom_format( COM_SPC *spc, char *filespec, /* Position dans le fichier ou NULL */ char *buf) /* Cl‚ de la sp‚cification ou NULL */ /*~17/08/93 22.43.22! nacom_sort N */ /* Tri les sp‚cifications par cl‚ de classement */ void nacom_sort( COM_INDEX *comi) /*~17/08/93 22.43.22! nacom_print N */ /* Imprime le texte de la sp‚cification avec l‚ger formattage Retourne -1 si erreur. */ int nacom_print( COM_SPC *spc, PAGIN *pout, int quit_signal) /* 0 : silencieux, 1 : message d'erreur, 2 : 1 + quit */ /*~16/11/93 20.14.30! nacom_locate N */ /* Localise une sp‚cification qui correspond … une cl‚ Retourne -1 si trouve pas ou le prochain num‚ro … passer … cette fonction pour la recherche suivante. */ int nacom_locate( COM_INDEX *comi, int pos, /* Position de depart de la recherche dans comi */ const char *ident, /* Type de sp‚cification */ char *tbcle[], /* Liste de mot cle */ int nbcle, COM_SPC **ptspc) /* Contiendra la sp‚cification trouv‚e */ /*~16/11/93 20.14.30! nacom_scanargv N */ /* Balaye une s‚rie de source et extrait les commentaires sp‚cifications. */ int nacom_scanargv( COM_INDEX *comi, int argc, char *argv[], char *path) /*~16/11/93 20.14.30! nacom_chknotusedp N */ /* Affiche tous les commentaires sp‚cifications qui n'ont pas ‚t‚ utilis‚s. Retourne le nombre de commentaires affich‚s. Si pout == NULL, ne fait que compter. */ int nacom_chknotusedp( COM_INDEX *comi, PAGIN *pout) /*~16/11/93 20.14.30! nacom_chknotused N */ /* Affiche tous les commentaires sp‚cifications qui n'ont pas ‚t‚ utilis‚s. Retourne le nombre de commentaires affich‚s. */ int nacom_chknotused( COM_INDEX *comi, FILE *fout) /*~27/07/92 00.14.28! nap_free N */ /* LibŠre espace dans un NAP_LIST */ void nap_free( NAP_LIST *lst) /*~27/07/92 00.14.28! nap_parse N */ /* Ouvre un fichier nap et construit la liste de toutes les fonctions Ne retourne pas si erreur Retourne le nombre de fonction lue */ int nap_parse( NAP_LIST *lst, const char *fname) /*~27/07/92 00.14.28! nap_locate N */ /* Localise la premiŠre description d'une fonction Retourne NULL si trouve pas */ NAP_FCT *nap_locate( NAP_LIST *lst, const char *fctname) /*~27/07/92 00.14.28! nap_locatenext N */ /* Localise une autre description d'une fonction Retourne NULL si trouve pas */ NAP_FCT *nap_locatenext( NAP_LIST *lst, NAP_FCT *info) /*~25/11/92 23.15.24! pagin_openerr N */ /* Ouvre un fichier d'output avec pagination Retourne -1 si erreur */ int pagin_openerr( PAGIN *pag, const char *fname, int quit, int gauche, /* Marge de gauche */ int lenlin, /* Nombre de caractŠres par ligne */ int linpag) /* Nombre de ligne par page */ /*~25/11/92 23.15.24! pagin_openfile N */ /* Assigne un fichier d‚j… ouvert au systŠme de pagination. Retourne -1 si erreur */ int pagin_openfile( PAGIN *pag, FILE *fout, int gauche, /* Marge de gauche */ int lenlin, /* Nombre de caractŠres par ligne */ int linpag) /* Nombre de ligne par page */ /*~25/11/92 23.15.24! pagin_close N */ /* Termine output dans un fichier */ void pagin_close( PAGIN *pag) /*~25/11/92 23.15.24! pagin_form N */ /* G‚nŠre un saut de page et ajuste */ void pagin_form( PAGIN *pag) /*~25/11/92 23.15.24! pagin_bprintf N */ /* Affiche une seule ligne en d‚cidant si on saute de page */ void pagin_bprintf( PAGIN *pag, const char *ctlf, const char *ctla, ...) /*~25/11/92 23.15.24! pagin_nl N */ /* Saute une ligne */ void pagin_nl( PAGIN *pag) /*~25/11/92 23.15.24! pagin_check N */ /* V‚rifie s'il y a au moins N lignes disponible jusqu'… la fin de la page Si pas assez, g‚nŠre un saut de page. Le nombre de lignes est automatiquement ajout‚. L'appelant devra affich‚ lui-mˆme sans utiliser les fonctions de pagin. Le compte sera fauss‚ sinon */ void pagin_check( PAGIN *pag, int nbline) /*~05/12/89 22.53.28! permut_cnvtxt N */ /* Adapte une ligne a permutter avant la permutation Convertit la ligne en minuscule Ellimine les blancs au debut Transforme les tab en blanc et laisse un seul blanc entre chaques mots Retourne la nouvelle longueur de la ligne */ int permut_cnvtxt( char *txt) /*~05/12/89 22.53.28! permut_txtline N */ /* S‚pare une ligne en plusieurs item et retourne nombre d'items permut‚s Les items sont accumul‚s dans le vecteur items Les items isol‚s sont des mots uniquement compos‚s de lettres et de caractŠre > 127 Les mots de la table except ne sont pas permuttable, ce sont g‚n‚ralement des articles, pronom, etc... */ int permut_txtline( PERMUT_LINE *line, PERMUT_ITEM *items, char *except[]) /*~05/12/89 22.53.28! permut_genline N */ /* A partir de la liste d'item trie, produit un texte permutte La fonction output genere chaque ligne produite Le mot cle sera place au milieu de la chaine, l'excedant sera ramene au debut. */ void permut_genline( PERMUT_ITEM *items, int nbitem, int linsiz, void(*output)(char *txt, char *info)) /*~05/12/89 22.53.28! permut_tri N */ /* Tri la table de items permutte */ void permut_tri( PERMUT_ITEM *items, int nbitem) /*~30/11/91 22.36.04! permut_set N */ /* Lecture d'un fichier permutte et initialisation editeur Utilise le window courant Retourne 0 si ok, -1 si erreur */ export int permut_set( char *filnam, PERMUT *perm) /*~30/11/91 22.36.04! permut_edit N */ /* Presentation d'un index permutte Retourne dans str la fin de la ligne courante ou le curseur se trouvait */ export void permut_edit( PERMUT *perm, KEYSET *set, KEYCMD *cmd, char *str) /*~30/11/91 22.36.04! permut_unset N */ /* Termine presentation d'un index permutte */ export void permut_unset( PERMUT *perm) /*~17/10/94 00.44.04! nacom_print R */ /* Imprime le texte de la sp‚cification avec l‚ger formattage Retourne -1 si erreur. */ int nacom_print( COM_SPC *spc, PAGIN_V *pout, int quit_signal) /* 0 : silencieux, 1 : message d'erreur, 2 : 1 + quit */ /*~17/10/94 00.45.52! nacom_chknotusedp R */ /* Affiche tous les commentaires sp‚cifications qui n'ont pas ‚t‚ utilis‚s. Retourne le nombre de commentaires affich‚s. Si pout == NULL, ne fait que compter. */ int nacom_chknotusedp( COM_INDEX *comi, PAGIN_V *pout) /*~17/10/94 09.35.42! PAGIN_V::PAGIN_V N */ PUBLIC PAGIN_V::PAGIN_V( void) /*~17/10/94 09.35.42! PAGIN_V::~PAGIN_V N */ PUBLIC VIRTUAL PAGIN_V::~PAGIN_V( void) /*~17/10/94 09.35.42! PAGIN_V::set_format N */ /* Controle le mode de formattage des paragraphe. Retourne la valeur courante. */ PUBLIC VIRTUAL int PAGIN_V::set_format( int _format) /*~17/10/94 09.35.42! PAGIN_V::get_format N */ /* Retourne le mode courant de formattage des paragraphe. */ PUBLIC int PAGIN_V::get_format( void) /*~17/10/94 09.35.42! PAGIN::PAGIN N */ PUBLIC PAGIN::PAGIN( void) /*~17/10/94 09.35.42! PAGIN::~PAGIN N */ PUBLIC PAGIN::~PAGIN( void) /*~17/10/94 09.35.42! PAGIN::openerr N */ /* Ouvre un fichier d'output avec pagination Retourne -1 si erreur */ PUBLIC int PAGIN::openerr( const char *fname, int quit, int _gauche, // Marge de gauche int _lenlin, // Nombre de caractŠres par ligne int _linpag) // Nombre de ligne par page /*~17/10/94 09.35.42! PAGIN::openfile N */ /* Assigne un fichier d‚j… ouvert au systŠme de pagination. Retourne -1 si erreur */ PUBLIC int PAGIN::openfile( FILE *_fout, int _gauche, // Marge de gauche int _lenlin, // Nombre de caractŠres par ligne int _linpag) // Nombre de ligne par page /*~17/10/94 09.35.42! PAGIN::close N */ /* Termine output dans un fichier */ PUBLIC void PAGIN::close( void) /*~17/10/94 09.35.42! PAGIN::form N */ /* G‚nŠre un saut de page et ajuste */ PUBLIC void PAGIN::form( void) /*~17/10/94 09.35.42! PAGIN::bprintf N */ /* Affiche une seule ligne en d‚cidant si on saute de page */ PUBLIC void PAGIN::bprintf( const char *ctlf, const char *ctla, ...) /*~17/10/94 09.35.42! PAGIN::nl N */ /* Saute une ligne */ PUBLIC void PAGIN::nl( void) /*~17/10/94 09.35.42! PAGIN::check N */ /* V‚rifie s'il y a au moins N lignes disponible jusqu'… la fin de la page Si pas assez, g‚nŠre un saut de page. Le nombre de lignes est automatiquement ajout‚. L'appelant devra affich‚ lui-mˆme sans utiliser les fonctions de pagin. Le compte sera fauss‚ sinon */ PUBLIC void PAGIN::check( int nbline) /*~17/10/94 09.35.42! PAGIN::format_paragraphe N */ /* G‚nŠre un paragraphe d'un coup en formattant ou pas */ PUBLIC void PAGIN::format_paragraphe( char *buf) /*~17/10/94 09.35.42! PAGIN::format_titre N */ /* G‚nŠre le titre d'une section. */ PUBLIC void PAGIN::format_titre( const char *secnum, // Num‚rotation de la section char *buf, // Titre de la section int is_tbmat) // Formatte pour la table des matiŠres ? /*~17/10/94 09.35.42! PAGIN::indent N */ /* Affiche une ligne avec indentation suppl‚mentaire. */ PUBLIC void PAGIN::indent( const char *txt) /*~17/10/94 01.28.42! PAGIN_HTML::PAGIN_HTML N */ PUBLIC PAGIN_HTML::PAGIN_HTML( void) /*~17/10/94 01.28.42! PAGIN_HTML::~PAGIN_HTML N */ PUBLIC PAGIN_HTML::~PAGIN_HTML( void) /*~17/10/94 01.28.42! PAGIN_HTML::openerr N */ /* Ouvre un fichier d'output avec pagination Retourne -1 si erreur */ PUBLIC int PAGIN_HTML::openerr( const char *fname, int quit) /*~17/10/94 01.28.42! PAGIN_HTML::openfile N */ /* Assigne un fichier d‚j… ouvert au systŠme de pagination. Retourne -1 si erreur */ PUBLIC int PAGIN_HTML::openfile( FILE *_fout) /*~17/10/94 01.28.42! PAGIN_HTML::close N */ /* Termine output dans un fichier */ PUBLIC void PAGIN_HTML::close( void) /*~17/10/94 01.28.42! PAGIN_HTML::set_format N */ /* Controle le mode de formattage des paragraphe. Retourne la valeur courante. */ PUBLIC int PAGIN_HTML::set_format( int _format) /*~17/10/94 01.28.42! PAGIN_HTML::form N */ /* G‚nŠre un saut de page et ajuste */ PUBLIC void PAGIN_HTML::form( void) /*~17/10/94 01.28.42! PAGIN_HTML::bprintf N */ /* Affiche une seule ligne en d‚cidant si on saute de page */ PUBLIC void PAGIN_HTML::bprintf( const char *ctlf, const char *ctla, ...) /*~17/10/94 01.28.42! PAGIN_HTML::nl N */ /* Saute une ligne */ PUBLIC void PAGIN_HTML::nl( void) /*~17/10/94 01.28.42! PAGIN_HTML::check N */ /* V‚rifie s'il y a au moins N lignes disponible jusqu'… la fin de la page Si pas assez, g‚nŠre un saut de page. Le nombre de lignes est automatiquement ajout‚. L'appelant devra affich‚ lui-mˆme sans utiliser les fonctions de pagin. Le compte sera fauss‚ sinon */ PUBLIC void PAGIN_HTML::check( int) /*~17/10/94 01.28.42! PAGIN_HTML::format_paragraphe N */ /* G‚nŠre un paragraphe d'un coup en formattant ou pas. En mode HTML, on ne s'occupe pas de ca. C'est set_format qui fait tout. */ PUBLIC void PAGIN_HTML::format_paragraphe( char *buf) /*~17/10/94 01.28.42! PAGIN_HTML::format_titre N */ /* G‚nŠre le titre d'une section. */ PUBLIC void PAGIN_HTML::format_titre( const char *secnum, // Num‚rotation de la section char *buf, // Titre de la section int is_tbmat) // Formatte pour la table des matiŠres ? /*~17/10/94 01.28.42! PAGIN_HTML::indent N */ /* Affiche une ligne avec indentation suppl‚mentaire. */ PUBLIC void PAGIN_HTML::indent( const char *txt) /*~??/??/?? ??.??.??: pagin_openerr D */ /*~??/??/?? ??.??.??: pagin_openfile D */ /*~??/??/?? ??.??.??: pagin_close D */ /*~??/??/?? ??.??.??: pagin_form D */ /*~??/??/?? ??.??.??: pagin_bprintf D */ /*~??/??/?? ??.??.??: pagin_nl D */ /*~??/??/?? ??.??.??: pagin_check D */ /*~??/??/?? ??.??.??: PAGIN::indent D */ /*~??/??/?? ??.??.??: PAGIN_HTML::indent D */ /*~17/10/94 10.06.34! PAGIN::format_titre R */ /* G‚nŠre le titre d'une section. */ PUBLIC void PAGIN::format_titre( int, // Niveau de num‚rotation const char *secnum, // Num‚rotation de la section char *buf, // Titre de la section int is_tbmat) // Formatte pour la table des matiŠres ? /*~17/10/94 10.05.14! PAGIN_HTML::format_titre R */ /* G‚nŠre le titre d'une section. */ PUBLIC void PAGIN_HTML::format_titre( int niveau, // Niveau de num‚rotation const char *secnum, // Num‚rotation de la section char *buf, // Titre de la section int is_tbmat) // Formatte pour la table des matiŠres ? /*~17/10/94 21.58.38! PAGIN::format_titre R */ /* G‚nŠre le titre d'une section. */ PUBLIC void PAGIN::format_titre( int niveau, // Niveau de num‚rotation const char *secnum, // Num‚rotation de la section char *buf) // Titre de la section /*~17/10/94 21.58.38! PAGIN::getpage N */ /* Retourne le num‚ro de la page du document */ PUBLIC int PAGIN::getpage( void) /*~17/10/94 21.58.38! PAGIN_IDX::format_titre N */ /* G‚nŠre le titre d'une section. */ PUBLIC void PAGIN_IDX::format_titre( int niveau, // Niveau de num‚rotation const char *secnum, // Num‚rotation de la section char *buf) // Titre de la section /*~17/10/94 21.58.38! PAGIN_IDX::PAGIN_IDX N */ /* Paginateur controllant la pr‚sentation de l'index */ PUBLIC PAGIN_IDX::PAGIN_IDX( PAGIN *_pout) /*~17/10/94 21.55.02! PAGIN_HTML::openerr R */ /* Ouvre un fichier d'output avec pagination Retourne -1 si erreur */ PUBLIC int PAGIN_HTML::openerr( const char *_basename, // Nom de base servant a composer les // noms des diff‚rents fichiers html int quit) /*~17/10/94 21.55.02! PAGIN_HTML::format_titre R */ /* G‚nŠre le titre d'une section. */ PUBLIC void PAGIN_HTML::format_titre( int niveau, // Niveau de num‚rotation const char *secnum, // Num‚rotation de la section char *buf) // Titre de la section /*~17/10/94 21.55.02! PAGIN_HTML_IDX::format_titre N */ /* G‚nŠre le titre d'une section. */ PUBLIC void PAGIN_HTML_IDX::format_titre( int niveau, // Niveau de num‚rotation const char *secnum, // Num‚rotation de la section char *buf) // Titre de la section /*~17/10/94 21.55.02! PAGIN_HTML_IDX::openerr N */ /* Ouvre un fichier d'output pour l'index. Retourne -1 si erreur */ PUBLIC int PAGIN_HTML_IDX::openerr( const char *_basename, // Nom de base servant a composer les // noms des diff‚rents fichiers html int quit) /*~??/??/?? ??.??.??: PAGIN_HTML::openfile D */ /*~18/10/94 15.56.34! PAGIN_HTML::fputs N */ /* Traduit une chaine en ISO et ajoute dans un fichier */ PUBLIC void PAGIN_HTML::fputs( const char *buf, FILE *fout) /*~18/10/94 15.56.34! PAGIN_HTML::fprintf N */ /* fprintf avec traduction. */ PUBLIC void PAGIN_HTML::fprintf( FILE *f, const char *ctl, ...) /*~18/10/94 16.08.10! PAGIN_HTML_IDX::openerr R */ /* Ouvre un fichier d'output pour l'index. Retourne -1 si erreur */ PUBLIC int PAGIN_HTML_IDX::openerr( const char *_basename, // Nom de base servant a composer les // noms des diff‚rents fichiers html const char *_rel_path, int quit)