/*************************************************************************************************************************************/ /* */ /* G E N E R A T I O N A U T O M A T I Q U E D ' U N C - S H E L L - S C R I P T */ /* R E P E T A N T L A M E M E O P E R A T I O N P O U R U N E S E Q U E N C E D ' I M A G E S : */ /* S U I V A N T D E S N U M E R O S O U B I E N S U I V A N T L E S C O M P O S A N T E S { R , V , B } : */ /* */ /* */ /* Ces definitions doivent imperativement */ /* etre dans un fichier de type '$I' si l'on */ /* veut qu'elles soient interpretees correctement, */ /* et ce a cause de la derivation formelle qui fait */ /* que les definitions contenues dans le fichier "de base" */ /* '$K' sont traitees differemment des autres. En effet, */ /* cela est du plus particulierement au fichier */ /* 'v $xcc/cpp$Z INCLUDES_1.sed' qui "inhibe" */ /* temporairement les 'define's du niveau le plus */ /* bas des fichiers. En particulier, les 'define's qui peuvent etre */ /* "redefinis" via 'TestADef' doivent donc etre mis */ /* dans un fichier d'include... */ /* */ /* */ /* Author of '$xci/genere$I' : */ /* */ /* Jean-Francois Colonna (LACTAMME, 20071227130205). */ /* */ /*************************************************************************************************************************************/ /*===================================================================================================================================*/ /*************************************************************************************************************************************/ /* */ /* G E N E R A T I O N D ' U N E C O M M A N D E D ' E D I T I O N : */ /* */ /*************************************************************************************************************************************/ #define LISTE_DES_VALEURS \ LISTE`__COMPTEUR8__A__ #define GENERATION_D_UN_CAS(numero,valeur_a_editer,arguments_specifiques,temporisation_eventuelle) \ /* L'argument 'arguments_specifiques' a ete introduit le 20091208130123... */ \ /* */ \ /* L'argument 'temporisation' a ete introduit le 20111011205753... */ \ %ifndef LISTE_DES_VALEURS \ __PLUS1__A__ \ %define LISTE_DES_VALEURS Cara(commande) \ __MOINS1__A__ \ %Aifndef \ __PLUS1__A__ \ %define LISTE_DES_VALEURS __MOINS1__A__ LISTE_DES_VALEURS,valeur_a_editer \ __PLUS1__A__ \ %Eifndef \ \ _____FORCER_UN_CHANGEMENT_DE_LIGNE_EN_PASSE_2_____ \ _____FORCER_UN_CHANGEMENT_DE_LIGNE_EN_PASSE_2_____ \ \ Ca1e(numero) \ Bblock \ Test(IL_FAUT(parentheser_les_commandes)) \ Bblock \ CAL2(GPrin0("(")); \ /* Introduit le 20091208145226 pour simplifier 'v $xE/.alias.2$vv$Y execRVB' de meme */ \ /* que 'v $xE/.alias.2$vv$Y execXYZ' evidemment... */ \ Eblock \ ATes \ Bblock \ Eblock \ ETes \ \ Test(IZGT(temporisation_eventuelle)) \ Bblock \ CAL2(GPrin3("sleep %d%s;%s",temporisation_eventuelle," "," ")); \ /* Introduit le 20111011205753, cette temporisation preliminaire optionnelle est destinee */ \ /* a eviter des charges exceptionnelles des MACHINEs, par exemple, lors de chargements */ \ /* d'albums "lourds" ('v $xiirc/.MANE.41.4.$U execRVB....xci.accumule.42.X')... */ \ /* */ \ /* L"ecriture "%s;%s" est destinee a garantir les espaces autour de ";" (soit " : "). */ \ Eblock \ ATes \ Bblock \ Eblock \ ETes \ \ CAL2(GPrin ## numero(LISTE_DES_VALEURS)); \ /* C'est ici que la commande 'commande' est editee... */ \ \ Test(IFNE_chaine(arguments_specifiques,C_VIDE)) \ Bblock \ CAL2(GPrin1(" %s",arguments_specifiques)); \ Eblock \ ATes \ Bblock \ Eblock \ ETes \ \ Test(IL_FAUT(parentheser_les_commandes)) \ Bblock \ CAL2(GPrin0(")")); \ /* Introduit le 20091208145226 pour simplifier 'v $xE/.alias.2$vv$Y execRVB' de meme */ \ /* que 'v $xE/.alias.2$vv$Y execXYZ' evidemment... */ \ Eblock \ ATes \ Bblock \ Eblock \ ETes \ Eblock \ ECa1 \ /* Afin de generer l'un des cas (introduit le 20071227122537)... */ #define INITIALISATION_DE_LA_GENERATION_DE_LA_COMMANDE_COURANTE \ %ifdef LISTE_DES_VALEURS \ %undef LISTE_DES_VALEURS \ %Aifdef LISTE_DES_VALEURS \ %Eifdef LISTE_DES_VALEURS \ \ _____FORCER_UN_CHANGEMENT_DE_LIGNE_EN_PASSE_2_____ \ _____FORCER_UN_CHANGEMENT_DE_LIGNE_EN_PASSE_2_____ /* Afin de reinitialiser l'ensemble des cas... */