Fermer2
andoh_wilfriedLe 16/10/2009 à 15:23

demo StackLib 5Ko 8 paramètres

Syntaxe : stacklib(param1, param2, ...)

NB : param peut-être une indirection "#varname"

Exemple1 : stacklib({1,2}, "will", 2x^2)
Exemple2 : stacklib(("folder", "#data/fold_ini")
Exemple2 : stacklib(("folder", {a,b,c,d}, "->",{{0,1}{0,0}}, "|", {0,1})


Lisez le fichier Arguments contenu dans le zip pour connaitre comment simuler des arbres à partir des paramètres en utilisant les tag_spéciaux :
- "->" (STO) : pour repeter en boucle
- "|" pour repeter le dernier paramètre.

J'ai pas testé encore la rapidité mais voici comment je procède : sans allocation dynamique de mémoire(je vais rendre global la structure de 1,5ko que j'utilse) :

1 - Je traverse chaque paramètre(LIST|MAT ou NUM|STR|EXPR) pour référencer le ptr sur debut les pour en connaitre les dimensions
2 - J'exécute la Fonction ensuite en me promenant dans chaque paramètre en fonction des tag Spéciaux


Il y a bien une 2ème méthode(que je compte tester à cause du gain possible en vitesse, mais ça va nécessité de l'allocation dynamique de mémoire) :

- allouer dynamiquement un tableau de pointeur à 2 dimension pour chaque paramètre
- access directe à chaque éléments des LIST|MAT


Y a quelques contraintes à spécifiér à la compilation :

1 - nombre maxi de paramètres = 8
2 - nombre maxi d'éléments dans une structure(LIST|MAT) = 501 index( On verra s'il faut le faire sur l'Estack restante )


Toute bonne volonté pour tester la démo et signaler d'éventuels bugs est bienvenue.





J'écris un moteur de gestion des expressions Ti_Basic (Listes, Matrix) pour exécuter des fonctions qui lui seront passé en paramètre.
Le moteur va faire dans les 5Ko et a un fonctionnement à VERTEL.
En fait c'est le moteur de ExtLiB en version améliorée.

Ca peur servir rapidement à créer une fonction pour le Ti-Basic, si on s'y connait pas trop en Gestion des Liste et Matrix surtout que
ca supporte un système de boucle interne sur les arguments

Ce que je veux faire c'est d'en faire un programme Kernel que d'autres programme C pourraient utiliser.
En gros ce programme se chargerait de récupérer les arguments Ti-Basic et d'appeler la fonction C.

Est possible de réaliser ça, car je présume que le mode Kernel permet de partager les ressource ?