Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1337 connectés 

  FORUM HardWare.fr
  Programmation
  Divers

  [BASIC] comment "dérouler" les GOTO ???

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[BASIC] comment "dérouler" les GOTO ???

n°330206
Aricoh
gentil mais fo po pousser
Posté le 12-03-2003 à 09:28:21  profilanswer
 

J'ai un gros gros soucis avec un vieux nanard de programme écrit en Basic.
 
Ce programme, de plus de 3000 lignes, n'est qu'un amas de blocs de codes régis par des labels. Dans presque chaque bloc, j'ai au minimum un goto.
 
J'ai essayé de suivre à la main tout l'acheminement de l'exécution du programme afin de le transcrire en algo romancé (je sais pas si c'est comme ça que l'on dit) mais, devant tant de redirections dans le code, je suis complètement à l'ouest.
 
Y aurait-il un outil déjà tout fait (on peut rêver :heink:) permettant de scanner le contenu d'un code comme celui-ci et qui pourrait réécrire toutes les lignes en fonction des goto ?
 
Sinon, qqun a-t-il une piste pour m'aider sur la manière de faire un programme qui pourrait faire ce boulot ?
 
J'ai beau réfléchir à cette possibilité, je ne suis pas assez "calé" en info pour imaginer comment :
 
- déplier le code intégralement en fonction de chaque appel de goto
- mettre en place une indentation automatique


---------------
Samsung Galaxy S1 -> Samsung Galaxy S2 -> Samsung Note 2 -> Huawei Ascend Mate 7 -> ZTE Axon 7 -> OnePlus 6T -> Oppo Find X2 PRO -> Google Pixel 9 PRO XL
mood
Publicité
Posté le 12-03-2003 à 09:28:21  profilanswer
 

n°330216
lorill
Posté le 12-03-2003 à 09:37:44  profilanswer
 

c'est pas evident ces histoires...  
t'as des gotos imbriqués dans des tests, dans des boucles, ... je sais même pas si c'est faisable sans interpréter le programme [:sinclaire]

n°330224
Aricoh
gentil mais fo po pousser
Posté le 12-03-2003 à 09:44:17  profilanswer
 

lorill a écrit :

c'est pas evident ces histoires...  
t'as des gotos imbriqués dans des tests, dans des boucles, ... je sais même pas si c'est faisable sans interpréter le programme [:sinclaire]  


 
Je peux résumer grosso modo le code comme ceci :
 

Code :
  1. 100    if toto% > 0 then goto 101
  2.        else goto 102
  3. 101    if toto% > 1 then goto 103
  4.        else goto 104
  5. 102    titi% = titi% + toto% -1
  6.        goto 134
  7. 103    ... ...
  8. 104    titi% = titi% + toto% - 2
  9.        goto 152


 
Là, c'est un exemple, c'est pire que ça, franchement pire que ça dans le code d'origine.
 
J'ai passé une journée complète à "suivre" le tracé du code selon 1 cas (ex. toto% > 0), j'en suis arrivé à une bonne cinquantaine de blocs remplis de goto, mon algo romancé contenait 300 lignes de blabla rien que pour ce cas de figure. Il m'a fallu d'une pause de 5 min pour me viander lamentablement et ne plus être capable de savoir d'où j'étais parti  :cry:


---------------
Samsung Galaxy S1 -> Samsung Galaxy S2 -> Samsung Note 2 -> Huawei Ascend Mate 7 -> ZTE Axon 7 -> OnePlus 6T -> Oppo Find X2 PRO -> Google Pixel 9 PRO XL
n°330231
JPA
Posté le 12-03-2003 à 10:07:26  profilanswer
 

Bon courage...
J'ai eu le même problème avec un progr de près de 1000 lignes en basic écrit par un mec qui ne connaissait pas l'existence des instructions for next :D
 
Il m'a fallu 3 jours pour me taper l'organigramme papier sur des feuilles de listings, et le résultat devait bien faire 3 m de long.
 
le seul outil que je connaisse est hélas le papier et beaucoup de courage...

n°330235
Aricoh
gentil mais fo po pousser
Posté le 12-03-2003 à 10:18:08  profilanswer
 

JPA a écrit :

le seul outil que je connaisse est hélas le papier et beaucoup de courage...

C'est bien ce que je pensais ... c'est un truc impossible à faire en automatique alors  :cry: j'suis pas dans la mouise
 
<MODE GUEULANTE ON>
JE HAIS LES GOTO ET LES GOSUB !!!
<MODE GUEULANTE OFF>
 
Ahhhhhh, ça fait du bien  :D


---------------
Samsung Galaxy S1 -> Samsung Galaxy S2 -> Samsung Note 2 -> Huawei Ascend Mate 7 -> ZTE Axon 7 -> OnePlus 6T -> Oppo Find X2 PRO -> Google Pixel 9 PRO XL

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Divers

  [BASIC] comment "dérouler" les GOTO ???

 

Sujets relatifs
Mysql et Visual Basic 6.0 - Connecter les 2 ?[BASIC] Exporter une donnée de la base de registre
[HELP] turbo basic :pVisual Basic : comment enregistrer??
Besoin d'aide en Visual Basic![PROBLEME] Besoin d'aide pour un petit programme basic
STL - Comment faire l'équivalent d'un "trim" sur une basic_stringPour un topic completement basic
Visual Basic : repeter une action jusque...Urgent... .Text dans Visual Basic 6.0
Plus de sujets relatifs à : [BASIC] comment "dérouler" les GOTO ???


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR