Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Projets de programmation


Index du Forum » Projets de programmation » BIDE - Basic IDE
Zezombye Hors ligne Rédacteur Points: 1756 Défis: 13 Message

BIDE - Basic IDE

Posté le 26/08/2016 19:36

Je vous présente mon nouveau projet : un IDE pour le Basic (casio bien entendu).

Lien de téléchargement


Un petit malin a écrit :
Mais ça va faire un bide ton projet !

...
(bref, si quelqu'un a un meilleur nom pour ça, qu'il le dise. )

En particulier pour les prochains CPC, un IDE pour le basic serait assez utile (enfin pour tout programme basic, c'est horriblement chiant de faire de grands programmes illisibles sur un écran monochrome (donc sans coloration syntaxique) de 21*6 sans aucune indentation).

Todo list (ça c'est pour moi) :
- Conversion des lignes des options en \r\n (ou édition directement dans BIDE)
- Optimisation : enlèvement des accolades, crochets et parenthèses fermants
- Conversion optimisée png -> multi drawstat
- Importation automatique sur la calculatrice
- Option pour générer du super drawstat

Les features de cet IDE seraient :

- Remplacement automatique des caractères spéciaux : par exemple si l'utilisateur tape "- >" (sans l'espace bien entendu) ça le remplacera automatiquement par "→". Pareil pour =>, <=, >=, etc. (pas fait)
Pour les autres caractères qui n'ont pas vraiment de représentation ASCII (disp par exemple) le remplacement s'effectue en tapant un '&' avant le nom de caractère, dans ce cas taper "&disp" le remplaçera par "◢".
Si l'utilisateur ne veut pas le remplacement (par exemple, s'il veut avoir "- >" et non pas "→") il lui suffit de séparer le "mot-clé" en deux parties et de les recoller après. Le remplacement se fera uniquement si l'utilisateur tape tout le mot d'un coup.
Cela remplace aussi les noms de fonction, si l'utilisateur tape "locate" ce sera remplacé automatiquement par "Locate".

Là où vous pouvez m'aider : me fournir les caractères unicode correspondant à chaque caractère ("◢" = 0x0C, etc).

- Possibilité de nommer ses variables. Il sera possible par exemple de mettre "vieJoueur" comme nom de la variable "A", et dans ce cas la variable A sera remplacée par "vieJoueur" dans le programme. Ca évite de se rappeler à chaque fois de l'utilité de chaque variable. (pas fait, utiliser les octets de header pour identifier les g1m)

- Aide au niveau des fonctions graphiques : survoler une fonction graphique montrera son résultat dans une petite pop-up. (pas fait)

- Indentation automatique lors de l'importation du projet (fait), et lors de l'écriture (pas fait) (par exemple, écrire "If A=2" puis faire une nouvelle ligne mettra automatiquement un ":Then" après le "A=2", un "IfEnd", puis augmentera le niveau d'indentation).

- La coloration syntaxique (c'est la base ), dites si vous voulez un style du type notepad++, eclipse, ou autre. Je préfère personnellement celui de notepad++. (fait à moitié)

- D'autres fonctions assez utiles inspirées d'eclipse : survoler une fonction affiche sa documentation, l'auto-completion, la sidebar à droite montrant les todos/warnings/erreurs, etc. (pas fait)

- Optimisation automatique lors de la compilation : enlever les guillemets/crochets/parenthèses/accolades à la fin d'une instruction (d'autres suggestions pour optimiser ?). La désoptimisation se fera à l'importation du .g1m (parce que des parenthèses pas fermées c'est chiant (pas fait)

- Support de B2C pour pouvoir tester sur l'émulateur facilement (pas fait)

- L'IDE refusera de compiler le programme s'il y a un quelconque goto dedans (j'ai du compromettre)

- Support de commentaires style C (// et /*...*/) (pas fait)

Voilà, si vous avez d'autres suggestions n'hésitez pas à les dire et aussi, si quelqu'un a un bon tutoriel sur les GUI en java, ça me serait bien utile (sachant que j'en ai trouvé aucun de compréhensible et que j'y comprends toujours rien).


Matt36230 Hors ligne Membre Points: 1888 Défis: 0 Message

Citer : Posté le 23/02/2017 16:14 | #


Ah il connait pas non plus la function memory fn
ERROR: Unknown opcode f91b
Je continue ?
Zezombye Hors ligne Rédacteur Points: 1756 Défis: 13 Message

Citer : Posté le 25/02/2017 11:20 | # | Fichier joint


Update de BIDE avec un GUI et de la coloration syntaxique

Téléchargez le .jar en pièce jointe (dézippez le) et double cliquez dessus.

Lors de la sauvegarde, il sauvegarde par défaut en .bide, c'est la même chose qu'un .g1m mais il est déconseillé d'écrire sur le .g1m original, parce que dans l'état actuel il peut modifier certains programmes irréversiblement. Par exemple, si un programme contient les caractères '=' et '>' à la suite (dans un string par exemple), alors BIDE les convertira en '⇒' au lieu des caractères originaux. C'est rare mais bon.

À noter que la coloration syntaxique peut prendre quelques secondes si on ouvre un grand fichier.
Divers jeux : Puissance 4 - Chariot Wars - Sokoban
Ecrivez vos programmes basic sur PC avec BIDE
Matt36230 Hors ligne Membre Points: 1888 Défis: 0 Message

Citer : Posté le 25/02/2017 12:28 | #


En plus de ça tu as rajouté les opcodes ou pas ?
Zezombye Hors ligne Rédacteur Points: 1756 Défis: 13 Message

Citer : Posté le 25/02/2017 12:29 | #


Ouaip, j'arrive à importer calcraft et clonelab donc j'ai la plupart des opcodes
Divers jeux : Puissance 4 - Chariot Wars - Sokoban
Ecrivez vos programmes basic sur PC avec BIDE
Matt36230 Hors ligne Membre Points: 1888 Défis: 0 Message

Citer : Posté le 26/02/2017 19:14 | #


Euuh, il s'ouvre sur une page internet avec pleins d'écritures chelou quand je veux le télécharger
Fabcvlr Hors ligne Membre Points: 2269 Défis: 41 Message

Citer : Posté le 27/02/2017 11:24 | #


Error code oxf7c5

L'expérience des autres, c'est comme une chandelle que l'on tient allumée dans son dos par une nuit de tempête !
Matt36230 Hors ligne Membre Points: 1888 Défis: 0 Message

Citer : Posté le 27/02/2017 16:57 | #


ERROR: Unknown opcode 0xf7d4
Zezombye Hors ligne Rédacteur Points: 1756 Défis: 13 Message

Citer : Posté le 27/02/2017 18:44 | #


Je vais enlever le "tell zezombye about it" pour éviter le flood
(Je finirai par rajouter tous les opcodes, plus besoin de m'en signaler un manquant )
Divers jeux : Puissance 4 - Chariot Wars - Sokoban
Ecrivez vos programmes basic sur PC avec BIDE
Lephenixnoir Hors ligne Administrateur Points: 24145 Défis: 170 Message

Citer : Posté le 27/02/2017 20:18 | #


Je pense que c'est le moment pour un petit coup de pub (pas forcément pour toi ZZ, je pense que tu as compris à force qu'on te tape dessus avec x)) : la refc développée par Cake contient tous les opcodes que vous utilisez et même plus ! Ne vous embêtez pas à tout recoder à la main dans vos projets personnels !
Mon graphe (24 Mars): (gint#27 ; (Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)
Fabcvlr Hors ligne Membre Points: 2269 Défis: 41 Message

Citer : Posté le 08/03/2017 08:04 | #


Du coup Zezombye, peux tu ajouter la version de BIDE, qu'on sache si il existe une version plus récente quand on télécharge ?!
L'expérience des autres, c'est comme une chandelle que l'on tient allumée dans son dos par une nuit de tempête !
Remiweb Hors ligne Membre de CreativeCalc Points: 1040 Défis: 32 Message

Citer : Posté le 09/03/2017 16:11 | #


Zezombye a écrit :
Ouaip, j'arrive à importer calcraft et clonelab donc j'ai la plupart des opcodes

Ahah, ça me fait plaisir que tu fasses tes tests avec calcraft

En tout cas c'est un projet très très intéressant !
Tweaks : ||||| ||||
Matt36230 Hors ligne Membre Points: 1888 Défis: 0 Message

Citer : Posté le 11/03/2017 21:44 | #


J'ai ça quand je l'ouvre avec openjDK java 8 runtime sous mint
The file '/home/onytis/Documents/BIDE.jar' is not marked as executable. If this was downloaded or copied from an untrusted source, it may be dangerous to run. For more details, read about the executable bit.
Lephenixnoir Hors ligne Administrateur Points: 24145 Défis: 170 Message

Citer : Posté le 11/03/2017 22:10 | #


C'est toi qui est en faute là Matt. Dans les propriétés du fichier, accorde le droit d'exécution au propriétaire. Encore mieux, si tu as une ligne de commande (plus idiomatique) :
$ chmod u+x BIDE.jar

Mon graphe (24 Mars): (gint#27 ; (Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)
Matt36230 Hors ligne Membre Points: 1888 Défis: 0 Message

Citer : Posté le 12/03/2017 00:58 | #


Je ne disais pas le contraire
Ok merci Lephe
Cakeisalie5 En ligne Ancien administrateur Points: 1896 Défis: 11 Message

Citer : Posté le 30/03/2017 22:50 | #


Le lien de téléchargement n'étant pas très visible :

>> Le lien de téléchargement de la dernière version <<

À intégrer au post principal.

Promotion ordinaire sur les inscriptions sur Planète Casio : en ce moment, c'est gratuit !

Mon blogBesoin d'utilitaires de transfert vers et depuis la calculatrice sous GNU/Linux ?
Dark storm Hors ligne Labélisateur Points: 11631 Défis: 176 Message

Citer : Posté le 30/03/2017 22:52 | #


Mis à jour
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Exagyde Hors ligne Membre Points: 86 Défis: 0 Message

Citer : Posté le 06/05/2017 12:23 | #


J'ai un petit problème :
Une fois le programme enregistré, je n'arrive pas à l'importer dans ma calculatrice.
Auriez-vous une solution. (j'ai une casio graph 35+)
Zezombye Hors ligne Rédacteur Points: 1756 Défis: 13 Message

Citer : Posté le 06/05/2017 12:35 | #


Plus de détails stp est ce que FA-124 te donne une erreur ? As-tu remplacé le .bide par .g1m ?
Divers jeux : Puissance 4 - Chariot Wars - Sokoban
Ecrivez vos programmes basic sur PC avec BIDE
Exagyde Hors ligne Membre Points: 86 Défis: 0 Message

Citer : Posté le 06/05/2017 12:42 | #


J'ai essayé de remplacer le .bide par .g1m ou .g1r, puis de l'ouvrir avec FA-124 mais le logiciel me renvoi "Application ERROR."
Zezombye Hors ligne Rédacteur Points: 1756 Défis: 13 Message

Citer : Posté le 06/05/2017 12:53 | #


Envoie le g1m, je n'ai personnellement jamais eu d'erreur avec les programmes convertis pourtant :o
Divers jeux : Puissance 4 - Chariot Wars - Sokoban
Ecrivez vos programmes basic sur PC avec BIDE
Exagyde Hors ligne Membre Points: 86 Défis: 0 Message

Citer : Posté le 06/05/2017 14:22 | # | Fichier joint


J'ai juste écris un petit programme de test

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 79 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd