N'étant pas un dieu en programmation, c'est très modeste, mais ça peut donner des idées à ceux qui voudraient vraiment réaliser des libs du style, mais mieux. Voilà un exemple:
lib("Font 2 nA=0 _boucle cA=nA DrawStr 0,0,cA If nA,1000,""<"" Goto boucle")
L'utilisation des commandes est assez simple. Les arguments sont tous facultatifs. Chaque variable est précédée de son type (n ou c) puis de sa lettre (on ne peut leur donner de nom pour l'instant, ce serait trop lent). n c'est entier et c c'est chaîne. Lorsqu'on assigne un entier à une chaîne (ou inversément aussi je crois) la conversion est automatiquement faite. On peut aussi utiliser le format de sprintf pour un assignement, du genre: cA=""%05i"",nA. Notez que les "" sont obligatoires sinon cela fermerait la chaîne. (en BASIC donc) On peut encore utiliser #var pour accéder à la variable BASIC, et j'essaie de permettre aussi l'assignement. On verra encore pour les accès à des matrices et des listes.
La syntaxe des If est catastrophique (en tous cas pour le moment) et cela n'ignore que la prochaine instruction. En gros, les if.. else if.. deviennent aussi compliqués qu'en assembleur. Idem pour les boucles (avec les goto).
If expression1 (entier),expression2 (entier),opérateur (chaîne)
A part ça, la vitesse d'exécution est plutôt mauvaise: (voici un benchmark)
Vitesse en BASIC avec CLIB: 2864
Vitesse avec LIB: 267
Vitesse en C pur: 20
Pour se faire une idée, il s'agissait d'un prog qui remplit deux fois l'écran de lignes en inversé. Pour l'instant tout est clippé, il y a une vingtaine de fonctions, et ça prend moins de 5 ko, avec l'interpréteur et tout... Et la stabilité est bonne, un bon point au moins
