1

Voilà l'idée :

un langage compilé JIT qui permettrait d'arrêter à tout moment le programme exécuté, de sauvegarder le contenu de la mémoire, des variables locales de chaque procédure dans un fichier, pour relancer le programme sur une autre machine (et pas seulement sur la même plateforme, ce serait trop facile).

C'est actuellement mon projet de trimestre, je pense en faire une adaptation TI, mais j'aimerais avoir vos avis et commentaires.

Note : je sais que le projet a l'air dingue, mais c'est faisable, avec certaines restrictions (sizeof(char) = 4 par exemple :-)

2

tu peux ecpliciter ton pas seulement sur la même plateforme ?

3

Completement con, et d'ailleur une adaptation de wabba existe deja sur ti

4

Je me justifie avant qu'on me dise que j'ai tord d'affirmer ca.
Avec l'experieur que j'ai de la lenteur des TI, je trouve que c'est totalement inutil de faire un JIT sur une TI, plutot faire compilateur natif sans langage intermediaire, et a la limite, on a bien plus besoin d'un compilo on calc efficace qu'un JIT, qui produirait des sources pas bien plus rapide que du basic. J'exagere, ca serait plus rapide, mais inutil par rapport a du C ou du pascal

5

freka> j'ai déjà vu wabba... je n'ai pas envie de faire la même erreur

Le but ici n'est pas de faire un enième compilateur on-calc, mais de programmer quelque chose de différent.

Le programme est fourni dans un langage intermédiaire de bas niveau (genre assembleur), et compilé au lancement du programme en asm 68000.

La seule différence avec un environnement comme le Small est que le programme peut être arrêté n'importe quand, et relancé soit sur la calculatrice, soit sur une autre calc, soit sur une autre plate-forme (par exemple le PC, mais sans émulateur).

Bien sûr, le code ne serait pas aussi rapide qu'avec un compilo C ou Pascal, mais l'idée est de pouvoir utiliser une bonne librairie derrière (style Genlib), comme Nitro l'a fait.

J'attends simplement vos suggestions pour voir la direction que devrait prendre le projet.

6

>La seule différence avec un environnement comme le Small est que le programme peut être arrêté n'importe quand, et relancé soit sur la calculatrice, soit sur une autre calc

Rien de plus facile avec Small... suffit de dumper l'AMX dans un fichier, et puis le relancer sur l'autre calc avec amx_Exec(&amx, &ret, AMX_EXEC_CONT, 0); (c'est fait pour).
So much code to write, so little time.

7

Tu l'implementes ?