Forums Casio - Projets de programmation

Index du Forum > Projets de programmation > Casio Basic Web Interpreter
Krevo_
Hors ligne
Membre
Points: 49
Défis: 0
Message
Posté le 29/08/2014 15:06

Casio Basic Web Interpreter :

Bonjour,

Je viens de m'inscrire pour vous faire part de la mise en ligne d'un "Casio Basic Web Interpreter" que j'ai commencé à écrire.
Je crois que le nom parle de lui-même.... c'est un interpreteur pour le langage basic des calculatrices Casio.
Le truc c'est que c'est un interpréteur en mode web, le rendu (=écran de la calculatrice) se fait sur un canvas HTML5.

Donc c'est ici => Casio Basic Web Interpreter

ATTENTION : ce que je partage avec vous est dans une version "alpha", il manque encore beaucoup de choses...
J'ai mis pleins de programmes en exemple.

En vrac la liste des instructions supportés :


Plot
PlotOn
PlotOff
PlotChg
PxlOn
PxlOff
PxlChg
PxlTest
Line
F-Line
Horizontal
Vertical
Cls
ClrText
Isz
Dsz
Lbl
Goto
Prog
Return
Mcl
Range
ViewWindow
Locate
Text
expr->variable
expr->variableStart~variableEnd
variable
"string"
?->variable
"string"?->variable
Ran#
GetKey
Int
Intg
Frac
Deg
Rad
Grad
sin
cos
tan
Rec
Pol
+
-
*
/
=> (If)
If/Then/Else/IfEnd
And/Or/Xor/Not
<=
>=
=
<> (or !=)
<
>
(expr)
-expr
Do/LpWhile
While/WhileEnd


J'ai mis les sources sur mon gitlab.

A bientôt.
Krevo_



Hackcell
Hors ligne
Membre
Points: 886
Défis: 6
Message
Dernier message de la page précédente :Posté le 06/11/2018 18:51 |
Sur mon tel sa marche bien... T'utilise un vrai navigateur ??
----------------------------------
I usually spend meow time cosplaying as a diligent student...
So it can get pretty stressful.
That's exactly why PC is such a happy place for meow to be ⭐



Pages: Précédente | 1, 2, 3, 4 | Suivante

Kikoodx
Hors ligne
Membre
Points: 790
Défis: 7
Message
Citer : Posté le 06/11/2018 18:53 | #
Hackcell a écrit :
Sur mon tel sa marche bien... T'utilise un vrai navigateur ??

Oui...
Mais bizarrement maintenant ça fonctionne...
Je peux affirmer que ce n'était pas le cas ce midi
----------------------------------
Lbl 1
Goto 1


Une boucle optimisée
Krevo_
Hors ligne
Membre
Points: 49
Défis: 0
Message
Citer : Posté le 06/11/2018 22:16 | #
Par contre, si qqun peut m'aider pour une vraie calc (Graph90+E par exemple) je sais pas s'ils ont changer un truc ou quoi mais un programme comme le 'random num' n'affiche pas les valeurs 'inlermediaire' mais seulement '0' en fin de programme.

C'est ouf ce changement dans l'interpreteur ... il y a (très?) longtemps (quand j'étais au Lycée lol) c'était pas comme ça l'interpréteur basic des casio.

Il faut faire quoi des "Locate" par exemple ?

Lephenixnoir
Hors ligne
Administrateur
Points: 13069
Défis: 136
Message
Citer : Posté le 07/11/2018 07:44 | #
En fait, c'est pas nouveau... aussi loin que j'aie programmé en Basic (6 ans ?), l'affichage n'a jamais été automatique. Écrire Ran# tout seul met à jour la valeur de Ans, sauf que Ans n'est affiché qu'à la fin du programme. Et manifestement Dsz A met aussi à jour Ans donc tu te retrouves avec un 0 à la fin.
----------------------------------
Rise.
Krevo_
Hors ligne
Membre
Points: 49
Défis: 0
Message
Citer : Posté le 10/11/2018 19:56 | #
Je vais m'atteler à ne plus afficher les calculs intermédiaires .... + pleins d'autres choses sous le coude.
Lephenixnoir
Hors ligne
Administrateur
Points: 13069
Défis: 136
Message
Citer : Posté le 10/11/2018 20:07 | #
Bonne nouvelle ! N'hésite pas à écrire dans la Revue des Projets !
----------------------------------
Rise.
Krevo_
Hors ligne
Membre
Points: 49
Défis: 0
Message
Citer : Posté le 11/11/2018 14:25 | #
J'ai raté la revue des projets du jour :-( J'ai mis en ligne ce matin, une version où j'ai revu la gestion des couleurs. Et je vous propose donc 2 "color scheme" : un noir et blanc et un bleu/vert (nouveau !). ça peut paraître pas grand chose mais je préfère bien finaliser les autres trucs en cours. Au moins, j'ai un peu d'activité sur ce projet en ce moment.
Lephenixnoir
Hors ligne
Administrateur
Points: 13069
Défis: 136
Message
Citer : Posté le 11/11/2018 14:35 | #
En fait il n'y a pas d'article proposé pour cette RDP ! Si tu as quelque chose, envoie-moi ton texte par MP, et je m'en occuperai !

Moi j'aime bien la couleur de l'écran, c'est le genre de fonctionnalités qui montrent quand tu te soucies des détails.
----------------------------------
Rise.
Krevo_
Hors ligne
Membre
Points: 49
Défis: 0
Message
Citer : Posté le 11/11/2018 17:29 | #
Merci pour les commentaires. J'ai été inspiré par une copie d'écran de 'Tetris' en 1ere page du tuto basic Casio.
Pas eu le temps pour la revue ou un texte, ça viendra plus tard.

Ajouté le 17/11/2018 à 17:58 :
Petite info du jour :
- ajout de la fonction 'GetKey' avec un petit clavier virtuel et un programme d'exemple éponyme.

(ATTENTION: Ce clavier virtuel pour l'instant permet de simuler la pression de touches pour la fonction 'GetKey' mais ne permet pas de saisir des chiffres sur un ?->Var ... il faut utiliser le clavier de son ordinateur .... et inversement le clavier de l'ordinateur n'affecte pas la valeur de 'GetKey'..... mais ça viendra tout ça .....)
Zezombye
Hors ligne
Rédacteur
Points: 1523
Défis: 12
Message
Citer : Posté le 17/11/2018 18:20 | #
Krevo, selon moi tu devrais regarder du côté de CBasic (si tu ne l'as pas déjà fait) : https://www.planet-casio.com/Fr/forums/topic14738-4-C.Basic-Projets.html

Vu que sentaro21 a déjà implémenté la plupart du basic (ayant fait b2c, c'est franchement un travail impressionnant ce qu'il a fait, il fait tourner des jeux de neotux et tout...) il ne te resterait qu'à modifier le code pour le faire tourner en JS
----------------------------------
Divers jeux : Puissance 4 - Chariot Wars - Sokoban
Ecrivez vos programmes basic sur PC avec BIDE
Krevo_
Hors ligne
Membre
Points: 49
Défis: 0
Message
Citer : Posté le 20/11/2018 22:31 | #
Je n'ai pas pris cette voie. Je n'ai entendu parler de CBasic seulement il y a quelques jours semaines. J'ai démarré mon projet en Août 2014, j'ai choisi une voie .... et le but est plutôt de me faire plaisir en essayant de faire tourner des programmes anciens que j'avais écris il y a très très longtemps .... (bien avant que planete-casio ne soit ouvert c'est dire ....). et aussi j'aime bien les thèmes Javascript/Html5 (canvas) ... pas forcément envie de porter du C que j'ai pas écrit (c'est un autre passe-temps)

... après c'est vrai qu'il y a eu pas mal de pause sur mon projet... et là j'ai à nouveau un peu de temps et j'essaye d'avancer. Donc tant que j'y arrive en terme de temps, j'avance ...

J'ai d'autres projets perso. (de programmation ou pas ...) et donc j'alterne comme je peux entre mes différentes occupations.

Cette année il y a aussi un gros changement, .... j'ai la calculatrice de mon fils sur laquelle je peux faire des tests / essais. Alors qu'avant septembre je n'avais plus de calculatrice.

Bref, ... donc si je prends le temps (J'ai 24h par jour comme tout le monde ... donc tout est question de répartition), il y a de très très bonnes choses à venir.... j'invite donc ceux que ça intéresse à suivre les nouvelles qui vont suivre.
Lephenixnoir
Hors ligne
Administrateur
Points: 13069
Défis: 136
Message
Citer : Posté le 20/11/2018 22:55 | #
Je suis assez d'accord avec toi, fonce dans ce que tu avais prévu ! Tu fais un travail remarquable, et c'est super le partager ici. Pas besoin de te poser trop de questions !
----------------------------------
Rise.
Krevo_
Hors ligne
Membre
Points: 49
Défis: 0
Message
Citer : Posté le 21/11/2018 19:57 | #
J'essaye actuellement de remettre une indication de localisation sur les "Syntax error" .... un des "known problem" que j'ai listé + une petite modif. d'interface qui va avec.

A suivre ....
Lephenixnoir
Hors ligne
Administrateur
Points: 13069
Défis: 136
Message
Citer : Posté le 21/11/2018 21:52 | #
Je suppose que l'outil avec lequel tu implémentes ta grammaire peut servir ici, non ? Je vois que ça te prend facilement 3000 lignes à cause du code généré

Oh, d'ailleurs, est-ce que tu as pensé à une licence pour ta grammaire ?
----------------------------------
Rise.
Krevo_
Hors ligne
Membre
Points: 49
Défis: 0
Message
Citer : Posté le 21/11/2018 22:27 | #
Le parser me donne un offset dans la string parsée. Je suis juste en train d'essayer de faire correspondre avec un numéro de ligne réel du programme en entrée.

Oui, ya un gros code généré .... les sources sont bien plus petites bien sûr.
J'ai tout mis en licence BSD sur mon github.
Lephenixnoir
Hors ligne
Administrateur
Points: 13069
Défis: 136
Message
Citer : Posté le 21/11/2018 22:55 | #
Bon courage !

La grammaire resservira peut-être, si c'est le cas je te le ferai savoir.
----------------------------------
Rise.
Krevo_
Hors ligne
Membre
Points: 49
Défis: 0
Message
Citer : Posté le 25/11/2018 16:35 | #
Les news :
- Syntax error avec le numéro de ligne correspondante (..... ce qui m'a amené à envisager de faire monter la version du compilateur/parser "js/cc" car je pense que j'aurais moins galéré .... mais ça ne se fait pas sans bien tester et éventuellement réécrire certains morceaux) ... du coup le textarea est augmenté à sa gauche avec les numéro de lignes ce qui est plus pratique.
- GetKey : j'ai mis un mapping / correspondance clavier du pc <-> clavier virtuel calculatrice (donc on peut cliquer sur les touches du clavier virtuel et ça alimente getKey et réponds aussi à l'input ... et inversement)... voir les programmes d'exemple "GetKey" et "TextMenu".

Lephenixnoir
Hors ligne
Administrateur
Points: 13069
Défis: 136
Message
Citer : Posté le 25/11/2018 22:14 | #
Wow, c'est impressionnant ! As-tu pensé à donner le focus à la zone du programme quand on lance un programme avec un bouton ?
----------------------------------
Rise.
Krevo_
Hors ligne
Membre
Points: 49
Défis: 0
Message
Citer : Posté le 25/11/2018 22:26 | #
Normalement, c'est bon pour les histoires de focus. J'ai beaucoup testé hier, ça doit être ok.J'ai eu et corrigé par mal de soucis (Par exemple en cliquant sur "Hello◢", ça gardais le focus sur le bouton puis quand on faisait Entrée pour terminer le programme en pause ... alors ça relancait le même programme car ça jouait aussi le "entrée" sur le bouton .....) C'est vrai que c'est pas tjrs simple ... quand on commence à capturer les évènements clavier. (J'avoue que niveau clavier il me resterais à faire que ces boutons fonctionnent quand on est en version mobile ou tablette, ça pourrais être pratique à terme)

A suivre ....
Lephenixnoir
Hors ligne
Administrateur
Points: 13069
Défis: 136
Message
Citer : Posté le 26/11/2018 18:06 | #
Hmm, ça ne focus pas l'écran chez moi, quand je clique sur le bouton Getkey. Je peux t'aider pour tester avec logs si tu veux. Enfin ne t'en fais pas trop !
----------------------------------
Rise.
Krevo_
Hors ligne
Membre
Points: 49
Défis: 0
Message
Citer : Posté le 26/11/2018 18:49 | #
Ok, ..j'ai testé avec Firefox :-( j'ai uploadé 2 légères retouches.
Il faut que je pense à bien tester avec Chrome ET Firefox ....

Pages: Précédente | 1, 2, 3, 4 | Suivante

Index du Forum > Projets de programmation > Casio Basic Web Interpreter

Planète Casio v42 © créé par Neuronix et Muelsaco 2004 - 2018 | Il y a 28 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire indépendant, géré bénévolement et n'est donc pas affilié à Casio | Toute reproduction de Planète Casio, même partielle, est interdite
Les fichiers, programmes et autres publications présents sur Planète Casio restent la propriété de leurs auteurs respectifs et peuvent être soumis à des licences ou des copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd