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 » FXForth - Un interpréteur Forth pour Casios
Fcalva Hors ligne Membre Points: 632 Défis: 10 Message

FXForth - Un interpréteur Forth pour Casios

Posté le 29/10/2025 15:02

Pour un peu de contexte:
Si je me suis lancé dans ce projet c'est suite aux problèmes des languages existant sur G35 (pour moi) : Le python est lent et pas terrible à utiliser, et le C.Basic est pas si rapide et a une syntaxe qui me repousse.
Au départ, j'avais commencé à écrire un language structuré cet été, ressemblant au B. Mais le projet est assez énorme, et je me suis retrouvé à la rentrée avec 1800 lignes de code et un générateur de représentation intermédiare foireux (c'est à dire assez loin de la fin).
Donc finalement, je me suis lancé dans le Forth, qui est un des langages les plus simples qui existent
Le projet
J'ai donc un coeur d'interpréteur Forth qui est actuellement fini, il manque juste ... toutes les fonctions standard
Ce qui est présent :
- Un lexeur/parseur complet
- Une hashmap
- Quelques primitives du langage (Appel/retour de fonction, 'exit', constantes, '+','-')
Ce qui reste à faire avant que je daigne publier un addin :
- Une interface graphique
- Améliorer un poil la hashmap
- Finir d'implémenter : variables, constantes, chaînes de caractères et déclaration de fonctions
- Ajout de '*', '/', '*/', '!', '@', '.', comparaisons, 'if', 'loop', 'while'
Le code source est disponible ici https://git.planet-casio.com/Fcalva/fxforth


Lephenixnoir Hors ligne Administrateur Points: 25437 Défis: 174 Message

Citer : Posté le 29/10/2025 15:07 | #


J'en connais un Druzyek qui va être content
Mon graphe (27 Juin): (MQ || Rogue Life) ; serial gint ; passe gint 3 ; Azur ; ...) || (shoutbox v5 ; v5)
Mb88 Hors ligne Rédacteur Points: 1292 Défis: 3 Message

Citer : Posté le 29/10/2025 18:26 | #


Fcalva a écrit :
Au départ, j'avais commencé à écrire un language structuré cet été, ressemblant au B. Mais le projet est assez énorme, et je me suis retrouvé à la rentrée avec 1800 lignes de code et un générateur de représentation intermédiare foireux (c'est à dire assez loin de la fin).


Sinon il y a le pascal qui peut être compilé en une seule passe (c'est ce que Turbo Pascal fait apparemment).

(si on n'est pas dérangé d'utiliser un langage pour quiche eaters )
Fcalva Hors ligne Membre Points: 632 Défis: 10 Message

Citer : Posté le 29/10/2025 18:34 | #


Mb88 : J'aurais pu faire en une seule passe certes. Mais le Pascal c'est quand même un language assez touffu (en plus d'être pour quiche eaters comme tu le dis si bien), et à ce point autant porter TCC
Et d'ailleurs j'y avais pensé, mais c'est pas super intéressant comme projet, surtout que les interfaces sont à peine documentées
Apréciateur de Noctua moyen
Caltos : G35+EII, G90+E (briquée )
Mb88 Hors ligne Rédacteur Points: 1292 Défis: 3 Message

Citer : Posté le 29/10/2025 18:37 | #


Je suis en train de lire le standard C ANSI parce que j'ai envie d'essayer de coder un compilo de C, mais je trouve tellement peu de temps pour le lire comme tout ce que j'ai envie de lire: je trouve toujours autre chose à faire que de lire .

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 - 2025 | Il y a 170 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