La revue des projets - 103
Posté le 06/05/2018 19:41
Bonjour à vous ! Aujourd'hui reprend la mythique Revue des Projets où les développeurs vous font rêver.
Après un blanc pas très bien expliqué dans la parution de cette revue hebdomadaire, nous sommes prêts à récupérer le rythme perdu et à vous en mettre plein les mirettes. Je vous rappelle que vous êtes invités à
y parler de vos projets en soumettant une description chaque semaine avant dimanche, 12h00 !
Aujourd'hui, Zezombye nous dévoile la dernière version de
Basic IDE (aka BIDE), son environnement de développement de Basic Casio. Cet outil permet de développer de grands projets Basic avec la facilité du PC en s'affranchissant des limitations de la calculatrice et son petit écran.
À toi la parole, Zezombye !
—
Aujourd'hui, je sors (enfin) la version 4.0 de BIDE, l'éditeur de texte pour Basic Casio
Cette mise à jour ajoute plein de nouvelles features, aussi bien au niveau de l'interface que du back-end (lecture/écriture des programmes).
Voici donc le changelog :
Amélioration de l'éditeur de pictures
Les pictures ne sont plus en ASCII, et sont éditables avec clic gauche/clic droit, qui font respectivement du noir et du blanc. Pour ceux avec des petits écrans, vous pouvez régler la taille par défaut dans les options, ou faire ctrl+molette pour régler le zoom.
L'édition étant limitée (normal, je cherche pas à faire un éditeur d'images
) il y a une option pour sauvegarder en
.png afin d'éditer avec un éditeur externe.
Ajout de la description pour les opcodes
Bien entendu, cette documentation n'est pas complète (il y a beaucoup d'opcodes). Pour l'instant, seuls les opcodes fréquents (dans la
référence Basic Casio) de A à P sont documentés.
J'ai également corrigé l'auto-complétion pour prendre en compte les substrings du texte tapé par l'utilisateur. Ainsi,
"rani" propose
"RanInt#(" mais aussi
"If".
Pour pouvoir écrire une documentation et ajouter des attributs (description, syntaxe, compatibilité...) le fichier
opcodes.txt est désormais en format JSON.
Ajout d'un sélecteur de caractères
Pour écrire un caractère spécial, il fallait chercher son numéro hexadécimal, puis regarder le nom de l'entité correspondante, ce qui n'était pas toujours intuitif.
Pour pallier à ce problème, j'ai ajouté un sélecteur de caractères :
Ce sélecteur contient les 5 catégories du menu
"Char" de l'éditeur de la calculette, ainsi que les caractères spécifiques à la Graph 90+E et les caractères non listés.
On peut maintenant taper ses cours dans BIDE
Avec
le mode examen repoussé, et le générateur de cours étant devenu désuet, la seule manière de taper ses cours dans un programme était de passer par l'éditeur de FA-124.
BIDE inclut maintenant la directive
#nocheck, qui permet d'écrire du texte dans un programme sans qu'il soit nécessairement valide. On peut également créer une "zone", avec la directive
#yescheck qui dit à BIDE de reprendre la vérification. Cela permet par exemple de cacher du cours dans un programme.
Par exemple :
#Program name: Tetris
#Password: <no password>
If 0: Then
#nocheck
3ème loi de Kepler:
Le carré de la période sidérale P d'une planète (temps entre deux passages successifs devant une étoile lointaine) est directement proportionnel au cube du demi-grand axe a de la trajectoire elliptique de la planète :
(2π/P)² * a³ = k
#yescheck
Else
// Code de tetris
IfEnd
On peut donc taper (ou copier/coller) ses cours dans BIDE, en profitant de l'intégralité des caractères, puis l'enregistrer en g1m.
Réduction du temps de compilation
Avec deux simples modifications, le temps de compilation est réduit de plusieurs secondes (sur les gros programmes) :
- Les pictures sont stockées en interne en format binaire
- Les programmes qui n'ont pas été modifiés depuis la dernière sauvegarde ne sont pas recompilés
Pour une modification d'un seul programme sur
Calc Wars, le temps de compilation passe de 8 secondes à 0.2 secondes !
Gestion des macros fonctions
Les macros gèrent maintenant les fonctions, la syntaxe étant la même qu'en C.
On peut donc déclarer des macros de ce type :
#define sleep(i) For 1->I To i : Next
#define sleep(i, var) For 1->var To i : Next
Bien entendu, le remplacement de la variable ne se fait pas dans un mot. Par exemple,
"i" ne serait pas remplacé dans
"Picture", mais il le serait dans
"2+i+3". Il est toujours préférable de tester les macros afin d'éviter un comportement inattendu.
Concaténation des fichiers
Il est maintenant possible de concaténer (combiner) des fichiers,
.g1m tout comme
.bide. Ainsi, si vous avez plusieurs fichiers
.g1m, vous pouvez les combiner en un seul fichier pour rendre le transfert plus facile
Correction du comportement des onglets
Les onglets sont désormais organisés par type (programme/picture/capture) puis par ordre alphabétique, afin de mieux s'y retrouver.
De plus, les onglets restent à leur place lorsqu'il y a plusieurs lignes (contrairement au comportement par défaut de Windows, qui met la ligne sélectionnée tout en bas).
Correction du CLI (interface en ligne de commande)
Le CLI revient avec deux commandes :
--to-g1m <cible> <prog1> <prog2> ...
--to-txt <cible> <prog1> <prog2> ...
qui servent respectivement à compiler/concaténer les programmes donnés (qu'ils soient en
.g1m ou en
.bide) dans un seul g1m ou fichier texte (
.bide).
Il y a également possibilité de donner un (ou plusieurs) fichiers en tant qu'arguments, sans spécifier d'option. Dans ce cas BIDE ouvre l'interface en chargeant ce ou ces fichier(s). Ce comportement est pour permettre de définir BIDE comme programme par défaut pour les
.g1m (c'est également pour ça qu'il y a désormais un
.exe).
Implémentation du Ctrl+F
Plus besoin de passer par un éditeur externe pour faire du find-and-replace, BIDE gère ça.
Nettoyage de strings
Pour certains programmes qui ont été écrits avec FA-124, l'affichage sous BIDE présente quelques problèmes :
Ces remplacements (par exemple
"!" devient
"&fact;") viennent de l'encodage Casio. L'opcode "point d'exclamation" et l'opcode "factorielle" sont tous deux représentés par le caractère
"!". BIDE les différencie (en représentant "factorielle" par
"&fact;"), mais FA-124 ne le fait pas, et remplace par défaut
"!" par "factorielle". BIDE ne fait donc que montrer cette différence.
Pour rendre les chaînes de caractères lisibles, le menu
"Tools" comporte désormais un nettoyeur de strings, qui fait ces remplacements.
C'est donc tout pour cette update, je vous invite à signaler tout bug ou suggestion
—
Merci Zezombye ! On se retrouve la semaine prochaine pour une autre édition de la Revue des Projets !
Citer : Posté le 06/05/2018 20:32 | #
Waouh, je suis impressionné par ton travail, Zezombye
Vitesse des fonctions en Basic Casio | 7 days CPC | Casio Universal Wiki | Tutoriel Basic Casio
>>> Give me a click Brother <<< >>> Teste mon générateur de mots nouveaux <<<
>>> Random Youtube Video <<<
Citer : Posté le 07/05/2018 09:01 | #
Idem, je ne pensais pas que c'était abouti à ce point là !
On dirait un travail de pro, c'est impressionnant. Et surtout, c'est inédit ! 8)
Félicitations, j'espère que nous saurons trouver un moyen de diffuser ce magnifique outil (comme l'a très bien fait ici Lephenixnoir).
Merci à vous deux.
La Planète Casio est accueillante : n'hésite pas à t'inscrire pour laisser un message ou partager tes créations !
Citer : Posté le 07/05/2018 18:32 | #
Merci pour vos retours
Pour la prochaine update j'essaierai d'ajouter un transfert USB automatique vers la calto, l'inconvénient majeur de BIDE étant d'avoir à transférer sur la calto pour tester (ce qui prend beaucoup de temps avec fa-124), sauf si on a l'émulateur.
Ecrivez vos programmes basic sur PC avec BIDE
Citer : Posté le 07/05/2018 18:38 | #
J'admets que le transfert USB serait d'un raffinement considérable !
Citer : Posté le 07/05/2018 19:58 | #
Ça serait carrément dingue tu veux dire ?!?
Surtout si on peut éditer les Pictures et les transférer à la volée.
La Planète Casio est accueillante : n'hésite pas à t'inscrire pour laisser un message ou partager tes créations !
Citer : Posté le 08/05/2018 23:01 | #
Sympa de revoir une RDP après tout ce temps
@Zz, je testerai la fonctionnalité de l'adaptation à la taille de l'écran ce week-end
Citer : Posté le 08/05/2018 23:07 | #
Pour la RDP, on a quelques (quelque chose comme 2 ou 3) semaines d'avance où on a du contenu pour alimenter l'article, mais on a besoin de vous pour la suite !
Alors n'hésitez pas à envoyer quelque chose, parce que Zezombye ne sortira pas une nouvelle version majeure de BIDE toutes les semaines !
Citer : Posté le 11/05/2018 10:28 | #
WOW, c'est complètement génial ce projet !