★ CODING ★ Table des références croisées des variables basic ★ |
Basic - Table de References Croisees des Variables Basic (CPC Revue) |
La table des références croisées permet d'obtenir une liste des variables, utilisées dans vos programmes Basic, avec pour chacune d'elles, le numéro des lignes où elles apparaissent et le nombre de fois qu'elles sont citées. Un bon moyen pour remettre un peu d'ordre dans vos listings. FONCTIONNEMENT Pour chaque variable trouvée, le programme la stocke dans un DESCRIPTEUR, dont le contenu est '.
Les descripteurs seront stockés dans une zone de 1200 octets, de l'adresse &9FF0 à &9B40, ce qui permet de stocker 60 variables, en raison de 15 caractères par nom de variable. Les variables sont classées par Fonction/Type/Alphabétique. Les numéros de ligne Basic seront stockés, dans une structure de liste, par blocs de 10 numéros. Chaque bloc contient 1 pointeur en aval et 10 numéros de ligne. Les blocs seront alloués, à partir de l'adresse &9B3F, jusqu'à la limite du programme Basic. Comme l'allocation des zones est faite dynamiquement, si le programme ne trouve pas la place nécessaire, il s'arrêtera en affichant le message "Manque de Place". La longueur des variables est volontairement limitée à 15 caractères, dû au fait que l'on utilise rarement les noms de variables très longs (?) Un astérisque placé à la fin de la variable, signale un tel dépassement. UTILISATION Il est préférable de fixer la mémoire haute à l'adresse &9FFF. avant tout chargement de programme. Puis on charge le "REFX.BIN" et le programme Basic à examiner. Faire CALL &A000 pour activer le "REFX.BIN". Durant le fonctionnement, les compteurs nombre de variables et numéro de ligne en cours seront affichés, permettant un suivi de traitement. Le résultat peut être visualisé sur l'écran ou imprimé sur papier, que l'on peut arrêter par l'enfoncement de la touche CTRL-C (touche CTRL et "C"). Dans le premier cas, l'affichage se fait à raison de 4 variables à la fois. Il n'y aura pas de pause pour les sorties sur l'imprimante. --------------------------------------------------------------------------------- |
|
|