Ceci est un script pour le shell Korn pour vérifier les programmes de mise en forme. Il a besoin de "pdksh*.rpm" à partir du cdrom 'contrib' de Linux. Sauvez ce fichier en tant que fichier 'texte' et appliquez sur ce fichier la commande chmod a+rx. Vous pouvez réécrire ce script shell en Perl pour pouvoir l'utiliser sous Windows 95/NT ou MSDOS. Enlevez les commentaires de la variable PRGM pour le faire pointer sur bcpp, cb ou indent.
#!/bin/ksh # Programme de vérification pour contrôler des embellisseurs C++ comme 'bcpp', 'indent' ou 'cb' ############################################################ # Copyright # Les droits d'auteurs sont sous les termes de la GNU/GPL. # Auteur: Al Dev (Alavoor Vasudevan) alavoor@yahoo.com # Traducteur : Robert Jacolin rjacolin@yahoo.fr ############################################################ check_beautify_now() { # Efface tous les fichiers temporaires ... \rm -f ${TMP_FILE} \rm -f ${TMP_CPPFILE}*.* FNAME=$1 if [ ! -f ${FNAME} ]; then print "\nErreur : Le fichier ${FNAME} n'existe pas!!. Arrêt immédiat ...." exit fi \cp -f ${FNAME} ${TMP_CPPFILE}.cpp ${COMPILER} -c ${TMP_CPPFILE}.cpp if [ ! -f ${TMP_CPPFILE}.o ]; then print "Erreur Fatale : Impossible de compiler ${FNAME}. Arrêt immédiat ... " exit fi \mv -f ${TMP_CPPFILE}.o ${TMP_CPPFILE}_orig.o aa=`basename $PRGM` print "\nEn cours, vérification de $aa sur ${FNAME}" ${PRGM} ${TMP_CPPFILE}.cpp ${COMPILER} -c ${TMP_CPPFILE}.cpp \rm -f $TMP_FILE diff ${TMP_CPPFILE}.o ${TMP_CPPFILE}_orig.o 1> $TMP_FILE 2>> $TMP_FILE result="" result=`wc -c $TMP_FILE | awk '{print $1}' ` if [ "$result" = "0" ]; then print "Succés!! La mise en forme de $aa fonctionne proprement!!\n" else print "Erreur Fatale : Quelque chose ne va pas!! La mise en forme ne fonctionne pas!!" exit fi # ${COMPILER} -S ${TMP_CPPFILE}.cpp # diff ${TMP_CPPFILE}.s ${TMP_CPPFILE}_orig.s # Efface tous les fichiers temporaires .... \rm -f ${TMP_FILE} \rm -f ${TMP_CPPFILE}*.* } ########## La partie principale du programme commence ici ################## #PRGM=/usr/bin/bcpp #PRGM=/usr/bin/cb PRGM=/usr/bin/indent COMPILER=/usr/bin/g++ TMP_FILE=beautify.tmp TMP_CPPFILE=beautify-tmp_cppfile print -n "Entrez le nom du fichier C++ <valeur par défaut *.cpp> : " read ans if [ "$ans" = "" -o "$ans" = " " ]; then ans="ALL" else FILENAME=$ans fi # Efface tous les fichiers temporaires .... \rm -f ${TMP_FILE} \rm -f ${TMP_CPPFILE}*.* if [ "$ans" != "ALL" ]; then check_beautify_now ${FILENAME} else ls *.cpp | while read FILENAME do check_beautify_now ${FILENAME} done fi