Home

Manuel d`utilisation du Pretty Printer

image

Contents

1. Manuel d utilisation du Pretty Printer L execution se fait en mode console par la commande pp in out in Il est obligatoire de fournir le fichier d entr e out optionnel Par d faut le fichier de sortie est le STDOUT soit la fen tre de la console on peut sp cifier ici un nom de fichier de sortie optionnel Si on rajoute le signe le Pretty Printer supprimera tous les whitespace superflus l exception de ceux crit en mode commentaire en mode caract re entre guillemets ou lorsqu un a t lu en d but de ligne D tails du fonctionnement Le programme est la base une impl mentation informatique d un automate L tat de celui ci volue selon les 10 champs donn s ci dessous nb_ind nombre d accolades ouvertes non ferm es was_CR bool en indiquant si la derni re chose significative pas espace ou tab tait un retour la ligne n ou r was_sih bool en indiquant si le dernier char lu est was_bsih bool en indiquant si le dernier char lu est nb_qm nombre de vus cons cutivement pour les trigraphes en norme ANSI qte_on bool en indiquant si on est dans des guillemets pnd_on bool en indiquant si il y a un en d but de ligne i e si on est dans une def de macro car_on bool en indiquant si on est dans une def de caract re entre deux com_on x bool en indiquant si on est en mode commentaire was_star bool en indiquant si le dernier char lu est p
2. hier de sortie State l automate zapper bool en valant 0 par d faut et 1 si l option a t fourni par l utilisateur La valeur de retour des fonctions de transition DO DONT signale la fonction main s il doit effacer les prochains espaces fournis par le fichier d entr e ou non La constante DEBUG d fini en d but du fichier de code source permet d activer le mode de d bogage en ainsi d afficher les transitions et les tats interm diaires de l automate au cours du traitement d un fichier Pour l activer sa valeur doit tre mise 1 avant compilation O sinon
3. mmentaire guillemet ou caract re actif S il y a lecture de avec correspondant un di se nous passons en mode di se tr n 1 X X MX X X X x Nous venons de passer la ligne et nous avons lu strictement moins de 2 II n y a pas de commentaire guillemet ou caract re actif tr n 0 1 X mx x x x x Nous ne venons pas de passer la ligne et nous avons lu un slash Il y a un passage possible en mode commentaire tr n 1 1 X mx x X x x Nous venons de passer la ligne et nous avons lu un slash Il y a un passage possible en mode commentaire tr n 1 1 X mx x X x x Nous venons de passer la ligne et le premier caract re qui y a t lu est un slash Ceci rend possible l entr e en commentaire normal ou en commentaire local Ce dernier est comparable une di se en d but de ligne Remarques g n rales Les espaces ou tabulations fournis par l utilisateur en d but de chaque ligne sont automatiquement supprim s et remplac s par l indentation automatique du Pretty Printer Cette indentation automatique s effectue toujours apr s la lecture du premier caract re et avant la premi re criture dans le fichier correspondant la nouvelle ligne Ceci afin de tenir compte des ventuels trigraphes et commentaires Dans le code source les variables suivantes sont couramment utilis es IN le canal de lecture sur le fichier d entr e OUT le canal d criture sur le fic
4. nous sortons du mode commentaire tr nn X X X mx x 1 X x Nous sommes en mode di se On attend simplement le prochain retour la ligne Les caract res sp ciaux n ont pas d effets particuliers sauf le cas des trigraphes tr n x X X mx 1 x x x Nous sommes en mode caract re On attend la fermeture du caract re Les caract res sp ciaux n ont pas d effets particuliers sauf le cas des trigraphes tr n x x 0 m1 x x x x Nous sommes avec des guillements ouverts et le dernier caract re lu n est pas un backslash On attend la fermeture des guillemets Les caract res sp ciaux n ont pas d effets d effets particuliers sauf le cas des trigraphes trr n x x 1 m1 x x x x Nous sommes avec des guillements ouverts et le dernier caract re lu est un backslash Soit c est un caract re d chappement pour un qui ne ferme pas les guillemets soit on continue normalement On attend la fermeture des guillemets Les caract res sp ciaux n ont pas d effets d effets particuliers sauf le cas des trigraphes tnOxx2XxXx x x x Nous ne sommes pas en d but de ligne et nous venons de lire soit un d but de trigraphe ventuel Il n y a pas de commentaire guillemet ou caract re actif S il y a lecture de avec correspondant un di se nous ne passons pas en mode di se trn 1xXx2 XX X x x Nous sommes en d but de ligne et nous venons de lire soit un d but de trigraphe ventuel Il n y a pas de co
5. our fermer les commentaires Les fonctions du programme repr sentent les transitions possibles sur cet automate Ces transitions sont leur tour appel par la fonction main selon la nature des caract res lus dans le fichier et l tat courant de l automate Cette fonction effectue aussi quelques actions de formatage comme la gestion des espaces en d but et ventuellement en cours de ligne Elles sont nomm es suivant l tat de l automate qu elles traitent avec la nomenclature 1 si le champ contient la valeur vraie 0 si la valeur est fausse x pour signifier don t care Voici le d tail des fonctions de transition tr_ default C est la fonction appell si l automate est dans un tat standard n y a pas de commentaires ouvert de guillemets nous ne venons pas de passer la ligne etc Selon le caract re lu elle oriente l tat de l automate vers des cas specifiques trr n x x x m x x x 1 0 Nous sommes en commentaire normal et le dernier caract re lu n tait pas une toile Les accolades et n ont aucun effet particulier Les passages la ligne provoquent une indentation mais pas une sortie du mode commentaire Toutefois le commentaire est ferm e la fin de la ligne et reouvert en d but de la suivante tr n x x x mx x x 1 1 Nous sommes en commentaire normal et le dernier caract re lu tait une toile Soit le commentaire est poursuivi soit en cas de slash

Download Pdf Manuals

image

Related Search

Related Contents

Acoustic Research AW791 Headphones User Manual  Multi-Dampfreiniger Mega Power Multi Steam Cleaner Mega Power  Sagemcom C90 telephone  

Copyright © All rights reserved.
Failed to retrieve file