Voici la derniŠre version complŠte de l'extracteur de prototypes. En plus de l'extracteur, Solucorp inclus une s‚rie de programmes utilitaires. De plus, une version DOS, Linux, OS/2 et SUN sparc de tous les programmes est incluse. Les programme DOS sont dans le fichier dos.zip. Les programmes Linux sont dans le fichier linux.tgz. Les programmes SUN sparc sont dans le fichier sparc.zip. Ce qui suit est une pr‚sentation des utilitaires. Le fichier exemple.zip fournit une description plus complŠte de l'utilisation de ces programmes. Solucorp se r‚serve le droit de modifier la composition de cet ensemble de programme sans pr‚avis. -Dircmd: Un "file find" am‚lior‚. -Make: Un make am‚lior‚. -Makedep: Un constructeur de d‚pendances pour makefile. -Naloc: Un localisateur de d‚clarations de fonctions. -Naperm: Un formatteur d'indexs. -Nadoc: Un formatteur de documentation. -Nulfct: Elimine certains appels de fonctions dans un source. Dircmd: Un "file find" am‚lior‚. Dircmd permet de localiser des fichiers et r‚pertoires … partir de critŠres de s‚lection complexes (date,multiples wildcards, exclusion, comparaison de r‚pertoires, etc...). De plus, il permet d'assembler des commandes … partir du nom des fichiers trouv‚s. La commande suivante efface tous les fichiers .obj associ‚s aux fichiers .c sur un disque. dircmd -s -e *.c del %p%\%b.obj Cette commande d‚truit chaque fichier apparaissant et dans le r‚pertoire "travail" et le r‚pertoire "archive" et qui ont la mˆme date de r‚vision et la mˆme dimension. La destruction se fait dans le r‚pertoire "travail". dircmd -c+=\archive -e \travail\*.* del %s Dircmd est essentiel pour la gestion de larges disques dures et de r‚seaux. Make: Un make am‚lior‚. Le make de Solucorp introduit plusieurs extensions. Il permet la construction de makefile portable entre DOS et UNIX. Voici une liste d'extensions par rapport aux make standard. Voir le fichier makefile dans exemple.zip. -Elimine la limitation de DOS pour les lignes de commande. DOS limite une ligne de commande … 126 caractŠres. Make r‚sout ce problŠme de fa‡on quasi invisible. -Elimine la limite de 640k de DOS. Make peut soit s'‚liminer temporairement de la m‚moire ou d‚clencher un "window DesqView" s‚par‚, lib‚rant pratiquement toute la m‚moire disponible. -Traitement conditionnel. Make supporte un ensemble complet de directive fonctionnant comme le pr‚processeur du compilateur C. -Projet distribu‚. Make peut op‚rer de fa‡on transparente avec des sources, des fichiers objets et des librairies dispos‚s dans des r‚pertoires diff‚rents. La disposition exacte est ind‚pendant des rŠgles inscrite dans les makefile. C'est ce qui permet d'obtenir des makefile "transportables". -Syntaxe de d‚finition de macro. Make supporte la d‚finition de macro … partir de wildcards. Il supporte l'exclusion. -R‚vision dynamique du contenu d'une macro. Un fois une macro d‚finie, on peut l'utiliser comme telle, ou avec modifications. -Gestion automatique des d‚pendances entre un sources et les fichiers d'inclusion qu'il r‚f‚rence. Voir l'utilitaire makedep. -Option touch s‚lectif. Un "touch" peut ˆtre appliqu‚ sur toutes les cibles qui ne sont plus … date, seulement si elles sont rendues d‚suettes par une d‚pendance sp‚cifique. -Option de d‚verminage permettant d'inspecter l'arbre de d‚cision du make. Makedep: Un constructeur de d‚pendances pour makefile. Makedep lit une s‚rie de fichier source et produit un fichier "parallŠle" qui sera utilis‚ par make. Ce fichier indique la d‚pendances entre un fichier sources et des fichiers d'inclusion. Vous n'avez plus … r‚viser le fichier makefile … chaque fois qu'un fichier d'inclusion est ajout‚ … un source. Voir le fichier makefile.dep dans exemple.zip. Naloc: Un localisateur de d‚clarations de fonctions. Naloc localise le source contenant la d‚claration d'une fonction n'importe o— dans un projet … plusieurs sources, et plusieurs r‚pertoires. Se rattache facilement … un ‚diteur programmable. Naperm: Un formatteur d'index. Ce programme produit trois fichier: Un sommaire, un index permutt‚ et un historique des r‚visions d'une librairie. Voir le fichier document.exm dans exemple.zip. Nadoc: Un formatteur de documentation. Nadoc produit un document complet sur un systŠme (librairie) … partir d'un squelette. Vous n'inscrivez que les sections et sous-sections accompagn‚es d'une courte description, et identifiez les fonctions qui font partie de ces sections. Nadoc produit automatiquement un document … partir de la documentation extraite des sources. Il cr‚e la table des matiŠres. Il produit un rapport mentionnant les fonctions qui n'existent plus et les fonctions qui n'ont pas ‚t‚ classifi‚es. Un outils essentiel pour produire du code r‚utilisable, r‚utilis‚ ! Voir document.exm dans exemple.zip. Nulfct: Elimine certains appels de fonctions dans un source. Nulfct ‚limine tous les appels fait … une fonction dans une s‚rie de source. Il produit un fichier temporaire qui sera compil‚, laissant l'original inchang‚. Il peut faire le traitement en parallŠle pour plusieurs fonctions. Les fonctions ‚limin‚s de cette fa‡on sont g‚n‚ralement utilis‚ pour le d‚verminage. -------------------------------------------------------------------- Nouvelles options et corrections de proto. Extraits du manuel protof.man. -------------------------------------------------------------------- 1 Introduction et avertissements L'extracteur de prototypes automatise et agr‚mente une partie du travail d'un programmeur en langage ANSI C et C++ 2.0. Il supporte aussi la syntaxe de d‚claration de fonctions K&R. Une version existe pour MSDOS (PCDOS) version 3 et plus, pour SCO XENIX version 2.3 (UNIX systŠme V.3.2) et pour SUN SPARC (Sunos). Ce manuel s'applique int‚gralement dans les trois environnements. Toutefois, le s‚parateur / a ‚t‚ choisi pour la sp‚cification de fichiers dans le manuel. La version MSDOS du logiciel reconnaŒt le s‚parateur \ et non pas /. 3.3 Mot-cl‚s ajout‚s pour automatiser l'op‚ration de l'extracteur Le langage C++ ne permet pas d'extraire les prototypes d'une fa‡on complŠtement automatique. Pour sa part le langage C possŠde un concept rudimentaire de controle de l'accŠs. Sept mot-cl‚s sont interpr‚t‚s par l'extracteur pour complŠtement controler la g‚n‚ration des prototypes … partir du source. export C et C++ _export C et C++ PRIVATE C++ PUBLIC C++ PROTECTED C++ STATIC C++ VIRTUAL C++ 3.4.3 -b : Mise … jour d'un fichier C++ … partir d'un fichier .pm Normalement, proto regroupe tous les prototypes des fonctions membres d'une classe C++ dans un seul fichier (voir -m0+,-m1+ et -c+). Ce fichier porte g‚n‚ralement l'extension ".pm". A partir de ce fichier, les prototypes des fonctions membres sont distribu‚s dans les fichiers qui contiennent les d‚clarations des classes. L'option -b active cette distribution. La syntaxe de l'option est: -bfichier_…_r‚viser+fichier_pm=fichier_r‚sultat -bfichier_…_r‚viser+fichier_pm -bfichier_…_r‚viser -b Si fichier_r‚sultat n'est pas sp‚cifi‚, fichier_…_r‚viser sera pris comme source et destination. Si fichier_pm n'est pas sp‚cifi‚, X.pm sera choisi (X est le nom du r‚pertoire courant). L'option -b sans arguments sera ‚quivalente … -bX.hpp+X.pm o— -bX.h+X.pm o— X est le nom du r‚pertoire courant. X.h sera utilis‚ si X.hpp n'existe pas. L'option -b peut ˆtre utilis‚ plusieurs fois (pour r‚viser plusieurs fichier d'inclusion) sur la ligne de commande. Son action ne sera d‚clench‚e qu'aprŠs l'extraction du dernier prototype. 3.4.6 -D : D‚finition de symbole sur la ligne de commande L'option -D permet de d‚finir des symboles du pr‚processeur directement sur la ligne de commande. L'option "-Dsymxxx" est ‚quivalente … la ligne "#define symxxx". L'option "-Dsymxxx=yyy" est ‚quivalente … "#define symxxx yyy". 3.4.15 -o : Nom alternatif pour l'option -m L'option -m compose le nom des fichiers resultats … partir du nom du r‚pertoire courant. L'option -o permet de sp‚cifier un autre nom