Seuls les membres ayant 30 points peuvent parler sur le chat.

Forum Casio - Projets de programmation


Index du Forum » Projets de programmation » Casio Basic Web Interpreter
Krevo_Hors ligneMaître du PuzzlePoints: 326 Défis: 0 Message

Casio Basic Web Interpreter

Posté le 29/08/2014 15:06


Je vous présente ici mon projet "Casio Basic Web Interpreter" qui a débuté en 2014 et dont le développement se poursuis encore actuellement.

Il s'agit d'un interpréteur 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ées :

[color1] Plot
[color1] PlotOn
PlotOff
PlotChg
[color1] PxlOn
PxlOff
PxlChg
PxlTest
[color1] Line
[color1] [sketchMode2] F-Line
[color1] [sketchMode2] Horizontal
[color1] [sketchMode2] Vertical
[color1] [sketchMode2] Circle
Plot/Line-Color color1
S-L-Normal
S-L-Dot
S-L-Broken
S-L-Thick
S-L-Normal
S-L-Thin
Cls
ClrText
ClrGraph
BG-Pict
BG-None
StoPict
RclPict
AxesOn
AxesOff
LabelOn
LabelOff
Isz
Dsz
Lbl
Goto
Prog
Return
Stop
Mcl
Range
ViewWindow
Menu
Locate
Text
expr->variable
expr->variableStart~variableEnd
variable
"string"
?->variable
"string"?->variable
Ran#
RanInt#
GetKey
MOD(
Int
Intg
Frac
Deg
Rad
Grad
sin
cos
tan
Rec
Pol
Ans
+
-
*
/
=> (If)
If/Then/Else/IfEnd
<=
>=
=
<> (or !=)
<
>
And/Or/Xor/Not
(expr)
-expr
Do/LpWhile
While/WhileEnd
For/Next
Break

{1,2,3,4}->List n
List n->List m
List Ans
x->Dim List n
Dim List n
Filen
Seq(
x->List n[expr]
List n
List n[expr]
ClrList
ClrList n
Sum list
Prod list
Mean(list
Median(list
Max(list
Min(list
SortA(list
SortD(list
Fill(value,list)
Augment(list,list)
Cuml list
?List list
Percent list
RanInt#(min,max,nb)
RanList#(int)

[[1,2,3][4,5,6]...]->Mat n
Mat n
Mat Ans
{l,c}->Dim Mat n
Dim Mat i
x->Mat n[expr,expr]
Mat n[expr,expr]
Mat n->Mat m

1 color can be Black, Blue, Red, Magenta, Green, Cyan or Yellow
2 sketchMode can be SketchNormal, SketchThick, SketchBroken, SketchDot, SketchThin


Vous trouverez les sources sur GitHub.

A bientôt.
Krevo_


Pages : 1, 2, 3, 4, 5, 6, 7Suivante
LegolasHors ligneAncien rédacteurPoints: 3266 Défis: 104 Message

Citer : Posté le 29/08/2014 15:09 | #


Super merci !
Mes programmes
Cacher les programmes
Mes défis
Cacher les défis



LephenixnoirHors ligneAdministrateurPoints: 15772 Défis: 136 Message

Citer : Posté le 29/08/2014 15:09 | #


Hey, c'est du bon boulot !
Bienvenue à toi Krevo_, et bravo

Malgré que je ne voie pas spécialement l'intérêt d'éxécuter du Basic Casio sur un ordinateur...
ScientifixHors ligneMembrePoints: 762 Défis: 30 Message

Citer : Posté le 29/08/2014 15:09 | #


Super !
JE SERAI ABSENT POUR 2 ANS A+

Je suis fan de Mathématiques et de Sciences en général (d'où mon nom ). Consultez mes programmes en rapport avec les Maths
--------------------------------------------------------

Calculatrice : Graph 75
LegolasHors ligneAncien rédacteurPoints: 3266 Défis: 104 Message

Citer : Posté le 29/08/2014 15:10 | #


Si, on peut programmer en basic sur FA_124 sans devoir transférer le programme à la calculatrice à chaque changement pour tester l'effet rendu.
Mes programmes
Cacher les programmes
Mes défis
Cacher les défis



ScientifixHors ligneMembrePoints: 762 Défis: 30 Message

Citer : Posté le 29/08/2014 15:11 | #


Au contraire Lephe, sur un ordi on gère beaucoup mieux le code et tout est plus propre, on s'y retrouve mieux (meilleure vision d'ensemble).
Je trouve que c'est une super idée pour ma part
JE SERAI ABSENT POUR 2 ANS A+

Je suis fan de Mathématiques et de Sciences en général (d'où mon nom ). Consultez mes programmes en rapport avec les Maths
--------------------------------------------------------

Calculatrice : Graph 75
LephenixnoirHors ligneAdministrateurPoints: 15772 Défis: 136 Message

Citer : Posté le 29/08/2014 15:12 | #


Ah oui tiens, je n'y avais pas pensé.
(Faut dire que je programme plus en Basic depuis longtemps aussi. ^^' )

Tu l'as programmé en JavaScript ?
LegolasHors ligneAncien rédacteurPoints: 3266 Défis: 104 Message

Citer : Posté le 29/08/2014 15:13 | #


Lephenixnoir a écrit :
Ah oui tiens, je n'y avais pas pensé.
(Faut dire que je programme plus en Basic depuis longtemps aussi. ^^' )

Tu l'as programmé en JavaScript ?

On dirait, ou alors du ajax.
Mes programmes
Cacher les programmes
Mes défis
Cacher les défis



ScientifixHors ligneMembrePoints: 762 Défis: 30 Message

Citer : Posté le 29/08/2014 15:13 | #


@Legolas : on peut exécuter le programme qu'on est en train de taper sur fa 124 ?
JE SERAI ABSENT POUR 2 ANS A+

Je suis fan de Mathématiques et de Sciences en général (d'où mon nom ). Consultez mes programmes en rapport avec les Maths
--------------------------------------------------------

Calculatrice : Graph 75
LegolasHors ligneAncien rédacteurPoints: 3266 Défis: 104 Message

Citer : Posté le 29/08/2014 15:13 | #


Scientifix a écrit :
@Legolas : on peut exécuter le programme qu'on est en train de taper sur fa 124 ?

Non.
Mes programmes
Cacher les programmes
Mes défis
Cacher les défis



Dark stormHors ligneMembre d'honneurPoints: 10828 Défis: 176 Message

Citer : Posté le 29/08/2014 15:14 | #


Rhaaaaa !!!
Pas de boucles avec les labels ! :kill:

Mais sinon c'est sympa
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Páranÿe quetë Quendya
Krevo_Hors ligneMaître du PuzzlePoints: 326 Défis: 0 Message

Citer : Posté le 29/08/2014 15:15 | #


Parmi les buts :
- faire revivre d'ancien programmes que j'avais écrit par le passé
- "just for fun" (ça c'est une très bonne raison !!)
- perfectionnement en techno web : javascript / canvas
- explorer un peu le monde des parser/compilateur/interpreteur (j'ai oublié de mentionné que j'ai utilisé "JS/CC" comme outil pour faire ma grammaire et générer le parseur)

Découvrez mon projet principal : Casio Basic Web Interpreter, le basic Casio dans votre navigateur web !
LephenixnoirHors ligneAdministrateurPoints: 15772 Défis: 136 Message

Citer : Posté le 29/08/2014 15:17 | #


Certaines expressions génèrent des erreurs de syntaxe, comme
.5(1000)->A
(la flèche non transformée bien entendu).
Par contre le niveau maximal de parenthèses est infini au du moins supérieur à 240, c'est appréciable
ScientifixHors ligneMembrePoints: 762 Défis: 30 Message

Citer : Posté le 29/08/2014 15:18 | #


C'est une super idée maintenat il faut que ton Interpreter gère plus de code, car comme le dit Dark storm pas mal de truc manquent ... Mais t es sur la bonne voie, ton idée est énorme
JE SERAI ABSENT POUR 2 ANS A+

Je suis fan de Mathématiques et de Sciences en général (d'où mon nom ). Consultez mes programmes en rapport avec les Maths
--------------------------------------------------------

Calculatrice : Graph 75
Krevo_Hors ligneMaître du PuzzlePoints: 326 Défis: 0 Message

Citer : Posté le 29/08/2014 15:19 | #


Dark storm a écrit :
Rhaaaaa !!!
Pas de boucles avec les labels ! :kill:

Mais sinon c'est sympa


Oui bien sûr, d'accord je n'ignore pas le "'GOTO Considered Harmful' ( Edsger Dijkstra).
Le lycée est loin et à l'époque il n'y avait que Lbl/Goto....
Donc j'ai codé ça d'abord (pour voir si mes programmes de l'époque pouvait être interprété).
Les autres boucles suivront...

Ajouté le 29/08/2014 à 15:22 :
Ajouté le 29/08/2014 à 15:21 :
Lephenixnoir a écrit :
Certaines expressions génèrent des erreurs de syntaxe, comme
.5(1000)->A
(la flèche non transformée bien entendu).
Par contre le niveau maximal de parenthèses est infini au du moins supérieur à 240, c'est appréciable


Parce que ça ne gère pas les multiplications sans l'opérateur *
Actuellement tu est obligé de faire
.5*(1000)->A
qui marche très bien.

J'ajoute que les A[1], A[2], ... Z[50] sont gérés aussi.
Découvrez mon projet principal : Casio Basic Web Interpreter, le basic Casio dans votre navigateur web !
LephenixnoirHors ligneAdministrateurPoints: 15772 Défis: 136 Message

Citer : Posté le 29/08/2014 15:25 | #


Le souci c'est que si tu ne respectes par strictement toute la syntaxe de l'interpréteur de Casio, on ne pourra pas exécuter les programmes comme on veut. De plus, comme on cherche souvent à gagner des octets on omet constamment le symbole de multipliation d'il y a des parenthèses.

Au fait, tu devrais te présenter.
Krevo_Hors ligneMaître du PuzzlePoints: 326 Défis: 0 Message

Citer : Posté le 29/08/2014 15:29 | #


Lephenixnoir a écrit :
Le souci c'est que si tu ne respectes par strictement toute la syntaxe de l'interpréteur de Casio, on ne pourra pas exécuter les programmes comme on veut. De plus, comme on cherche souvent à gagner des octets on omet constamment le symbole de multipliation d'il y a des parenthèses.


Mais j'ai bien l'intention que l'interpreteur puisse interpreté des programmes existants sans être obligé de les modifié.
Je connais bien ce raccourci ... surtout à l'époque de la fx7000G avec ses 422 pas seulement ! Mais c'est une histoire qui ira bien dans ma présentation... à venir.



Ajouté le 29/08/2014 à 15:32 :
MAJ : Vas y réessaye tes multiplications, j'ai modifié la grammaire à l'instant :-)
Découvrez mon projet principal : Casio Basic Web Interpreter, le basic Casio dans votre navigateur web !
LephenixnoirHors ligneAdministrateurPoints: 15772 Défis: 136 Message

Citer : Posté le 29/08/2014 15:33 | #


C'est mieux comme ça

Bon courage pour continuer.
ScientifixHors ligneMembrePoints: 762 Défis: 30 Message

Citer : Posté le 29/08/2014 15:34 | #


Est ce que tu pourrais faire un genre de catalogue avec les commandes ? Ça serait génial 8)
Au passage j'aime bien ton Prog 2
JE SERAI ABSENT POUR 2 ANS A+

Je suis fan de Mathématiques et de Sciences en général (d'où mon nom ). Consultez mes programmes en rapport avec les Maths
--------------------------------------------------------

Calculatrice : Graph 75
DarkysunHors ligneMembrePoints: 1747 Défis: 52 Message

Citer : Posté le 29/08/2014 15:44 | #


Super projet je te soutiens à fond !!!
Si je ne réponds pas à un post depuis trop longtemps : envoyez-moi un message pour me le rappeler !




LephenixnoirHors ligneAdministrateurPoints: 15772 Défis: 136 Message

Citer : Posté le 29/08/2014 15:54 | #


Il y a quelques différences avec la police d'origine aussi.
Si ça t'intéresse, il existe un pdf avec toute la police au pixel.
Pages : 1, 2, 3, 4, 5, 6, 7Suivante

Planète Casio v42 © créé par Neuronix et Muelsaco 2004 - 2019 | Il y a 45 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