Cette annexe contient les fichiers correspondant aux scripts de l'exercice de multiplication donné dans la section 7.1.
Dans cette version les noms des données sont mis entre deux caractères $ aussi bien dans le fichier de script que dans le fichier de message. C'est lors de la phase de codage manuel que le programmeur décide de leur utilisation: paramètre ou variable locale.
A.1.1 Fichier de script
A.1.2 Fichier de messages
Cette annexe contient les fichiers produits par le générateur automatique de code pour les scripts de l'exercice de multiplication donné dans la section 7.1. Le langage cible est Ada.
Puisque le nom du script est simplescript_cf2, le générateur produit cinq fichiers dont les noms sont les suivants: simplescript_cf2.PRG, simplescript_cf2.DEF, simplescript_cf2.IMP, simplescript_cf2TC.DEF, simplescript_cf2TC.IMP.
B.1.1 Le programme principal: simplescript_cf2.PRG
B.1.2 La spécification de l'automate à états finis: simplescript_cf2.DEF
B.1.3 L'implémentation de l'automate à états finis: simplescript_cf2.IMP
B.1.4 La spécification des modules manuels: simplescript_cf2TC.DEF
B.1.5 Implémentation des modules manuels: simplescript_cf2TC.IMP
Le nom du script est simplescript_cd. Le générateur produit six fichiers dont les noms sont les suivants: simplescript_cd.PRG, simplescript_cd.DEF, simplescript_cd.IMP, simplescript_cdDF.DEF, simplescript_cdTC.DEF, simplescript_cdTC.IMP. Deux autres fichiers simplescript_cdCP.DEF et simplescript_cdCP.DEF, sont aussi générés dans le cas où des processus parallèles sont nécessaires.
B.2.1 Le programme principal: simplescript_cd.PRG
B.2.2 Spécification de l'automate à états finis: simplescript_cd.DEF
B.2.3 Implémentation de l'automate à états finis: simplescript_cd.IMP
B.2.4 Spécification des modules manuels: simplescript_cdTC.DEF
B.2.5 Implémentation des modules manuels: simplescript_cdTC.IMP
B.2.6 Déclaration du flot de données:simplescript_cdDF.DEF
Ces règles sont utilisées pour réduire le nombre des coudes dans les arcs.
Rappelons que nous avons le cas 'no Intermediate' si les deux noeuds X et Y sont adjacents, c'est-à-dire vérifient la condition suivante:
(|XOrigine - XDestination| est inférieur ou égal à 1) et (|YOrigine - YDestination| est inférieur ou égal à 1)
Les conditions associées à ces deux cas sont, respectivement, les suivantes:
Remarque:
Ces règles ont été conçues pour les arcs de flot de contrôle. Pour les arcs de flot de données, il n'y a qu'une seule alternative 'Down-Up'. Nous avons donc ajouté cette alternative pour les directions qui ne l'ont pas prévue, comme la direction 'West' du cas 'No Intermediate'.