30Fermer32
PolluxLe 02/06/2004 à 23:52
Onur :
Non pas forcement avec les routines de TIOS.. Tout ce qui est local est géré par la pile.

Ha, intéressant comme méthode.

Soit le programme :
Prgm
Local i,j,l,s
seq({},i,1,5)->l
While not eof()
read()->s
For i,1,5
instring(s,"-")->j
augment(l[i],{mid(s,1,j)})->l[i]
mid(s,j+1)->s
EndFor
EndWhile
EndPrgm


Tu m'expliques comment tu gères "tout ce qui est local" (ici, les divers l[i]) par la pile ? roll

Encore une fois, je crois que tu n'as vraiment pas saisi la subtilité, et que pour tout un tas d'applications, soit ça va être aussi lent que le TI-Basic (si tu utilises les routines du TIOS) tout en étant largement plus gros, soit ça va demander une réécriture complète du programme (le programme que j'ai écrit plus haut ne passera pas tel quel avec une allocation via la pile, ou alors je suis intéressé par ta méthode --- si elle ne consiste pas à faire bêtement des listes chaînées, bien sûr : mais on peut faire des contre-exemples un peu plus évolués, dans ce cas-là; et en plus je doute que ton compilo fasse une analyse du code pour voir si c'est plus intéressant d'utiliser des listes chaînées ou des tableaux "normaux"...)

Ta methode est sans doute bien et ca ne sera pas pareil qu'en C parce que justement je peux faire en sorte que ca soit transparent pour l'utilisateur. Le Basic est destiné aux gens qui ne veulent pas se prendre la tete.

Ha. Donc interdire d'accéder à certaines fonctions d'allocation, c'est améliorer les choses ? Si le Basic reste une alternative intéressante au C, c'est précisément parce que certaines constructions (du genre de celle que j'ai décrite plus haut) sont très pénibles en C à cause de la gestion de la mémoire. Si tu t'amuses à rajouter des limites hard-codées, bien sûr ce sera qd même possible de faire des petits programmes pour montrer que ton langage "tourne", mais l'intérêt est quasiment nul...

Désolé de paraître un peu aggressif, mais j'ai l'impression que vous avez des illusions sur ce qu'apportent vos deux convertisseurs "Basic"->C (toi et Quesoft) : il manque vraiment *LA* chose qui fait que le Basic est plus pratique que le C, et donc ces langages n'ont aucune commune mesure avec le Basic couic A la limite, on aurait aussi vite fait de porter un compilo C++ sur TI, sachant que de toute façon les exécutables C++ ne seront probablement pas plus gros que les exes "Basic"...

Bien sur qu'il n'y aucune difference pour un programmeur C ou asm entre une chaine de caractère et un tableau (enfin les chaines statiques je parle) mais dans mon cpomilateur un truc déclaré du type String va etre automatiquement interprété en String lors d'une affectation ou passage en argument.

Et ce ne sera pas pareil pour les tableaux ? confus