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 » PicoBASIC - Un interprétateur qui charge le code par tronçons.
Mb88 Hors ligne Labélisateur Points: 944 Défis: 3 Message

PicoBASIC - Un interprétateur qui charge le code par tronçons.

Posté le 17/09/2022 11:38

PicoBASIC

(Mon projet secret, mais qui ne l'est plus )

@rdp

Les commits sur mon gitea (au début j'avais gitlab) perso :

Un code exemple :
msg@="bigger than zero"
8bit@=0
if 8bit==0
    msg@="is zero"
ifend

PicoBASIC est un language de programmation qui permettra aux graphs monochromes d'éxecuter des gros programmes codés on-calc avec une vitesse comfortable.
Comment le code est décodé :

msg:0, @=:4, "bigger than zero":3,
8bit:0, @=:4, 0:1,
if:0, 8bit:0, ==:4, 0:1,
msg:0, @=:4, "is zero":3,
ifend:0,

Chaque ligne correspond à une instruction.
Le tronçon est exécuté caractère par caractère.
Dans le log que j'ai mis plus haut les morceaux sont séparés par des virgules.
Les morceaux sont écrits
morceau:type

Les types :
* 0 : mot
* 1 : int
* 2 : float
* 3 : string
* 4 : opérateur

Fichier joint


Mb88 Hors ligne Labélisateur Points: 944 Défis: 3 Message
Mb88 Hors ligne Labélisateur Points: 944 Défis: 3 Message
Calamari Hors ligne Membre Points: 229 Défis: 0 Message

Citer : Posté le 18/09/2022 18:22 | #


I'm curious: what is the significance of the "@" character?
Mb88 Hors ligne Labélisateur Points: 944 Défis: 3 Message
Calamari Hors ligne Membre Points: 229 Défis: 0 Message

Citer : Posté le 19/09/2022 08:59 | #


Ah, I see. In many BASIC's you used = for both assignment and comparison. It would be assignment unless it's in an if/while/for, etc statement. But, I'm with you, my fingers naturally want to type == these days.
Lephenixnoir Hors ligne Administrateur Points: 24228 Défis: 170 Message

Citer : Posté le 19/09/2022 09:36 | #


Si tu utilises == pour la comparaison tu peux juste utiliser = pour l'assignement non ?
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)

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 169 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