PANORAMIC: ADAPTATION D'UN SOURCE D'UN AUTE BASIC

PAGE PRINCIPALE /PAGE TUTORIELS

Voici la méthode que je propose pour transformer un ancien source écrit en Basic

1 - Faire apparaitre les LABELS

Les sources possèdaient un numéro pour chaque ligne, A l'époque, c'était obligatoire.
Aujourd'hui, on a besoin uniquement de repérer deux types de lignes:

- celles qui sont le début d'un sous-programme, et qui sont appelées par GOSUB,
- celles auxquelles on accède par un GOTO.

Pour cela, à chaque fois qu'on trouve GOTO n ou GOSUB n, on fait deux choses:
- on replace n par Ln dans GOTO n et GOSUB n qui deviennent respectivement GOTO Ln et GOSUB Ln,
- on remplace le numéro de ligne n par Ln:

A chaque fois qu'on rencontre un THEN n on le remplace par THEN GOTO n

2 - Eliminer les numéros de ligne

Ensuite, on élimine tous les numéros de lignes, devenus inutiles.

3 - Déclarer les LABELS

On déclare alors les labels.

4 - Adapter à la syntaxe de PANORAMIC

Puis on adapte le source obtenu à PANORAMIC par exemple:

- Les lignes du type INPUT "TEXTE";C sont remplacées par des lignes du type PRINT "TEXTE": PRINT C

- Les lignes du type PRINT "TEXTE";I sont remplacées par des lignes du type PRINT "TEXTE "+STR$(I)

- PRINT N$(Z(I)); : PRINT S(Z(I)) est changée en PRINT N$(Z(I)) + STR$(S(Z(I)))

- RESTORE 1026 est changé en RESTORE

5 - Déclarer les variables

On déclare les variables utilisées.

6 - Essayer d'exécuter et corriger de façon itérative, jusqu'à obtenir une exécution parfaite

On le lance et ça ne marche pas !

Car il y a encore quelques adaptations à faire, qu'on ne voit qu'à l'exécution.

Par exemple, un END pour le programme principal doit être ajouté AVANT un sous programme, sinon celui-ci s'exécute puis il y aura l'erreur "RETURN SANS GOSUB" à la tentative de l'exécution du RETURN.

Mise à jour : 10 novembre 2008