Interpreteur d'un langage proche du rpn

Soyez le premier à donner votre avis sur cette source.

Vue 5 656 fois - Téléchargée 327 fois

Description

Salut

cette source presente un langage proche du rpn, c'est a dire que pour toute memoire, on a une pile, pas de variables, c'est special, ca ressemble au brainfuck, mais avec plusieurs types de variables, et probablement encore moins de possibilites...

comme structure conditionnelle, on trouve :

<condition>
if
<instructions>
fi

pour les boucles, on a :
<nombre>
times
<instructions>
semit

si on met un nombre negatif, alors on a une boucle infinie.

les types de donnees sont :
listes
valeurs
chaque valeur a un type parmi integer, real, boolean, ou string.

le rpn est base sur la structure de pile : quand on croise une valeur, on l'empile, quand on croise un operateur, on depile deux valeurs et on empile le resultat. exemple :
1 1 +
ca renvera 2.

4 sqrt renvera 2 aussi

j'ai pas mis beaucoup de fonctions, c'etait plus pour apprendre que pour utiliser :)

on peut manipuler les listes/piles avec les crochets :
[ les instructions qui se deroulent ici se font dans une nouvelle pile qui sera empillee dans la premiere]

les commentaires se font comme en C c'est a dire avec '
(c'est de l'humour, ceux qui frequentent le chan irc de codes-sources comprendront)

donc les commentaires se font comme en Qbasic, c'est a dire avec '

je n'ai pas gere les caracteres d'echapements comme \t, \n, \r, voir " \" "

Source / Exemple :


pour compiler sous linux :
make
sous windows, aucune idee

pour executer sous linux :

./interpretor <fichier a interpreter>
pour debuguer :
./interpretor <fichier a interpreter> -debug

sous windows, j'en ai aucune idee

Conclusion :


au debut, j'avais code le lexer en pensant faire un lolcode, mais j'ai pense que faire ca, c'etait quand meme plus utile :)

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
202
Date d'inscription
vendredi 6 juillet 2001
Statut
Membre
Dernière intervention
31 octobre 2007

Si tu as le log de ce qu'il t'a expliqué ou des liens qu'il a pu te filer je suis preneur.
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
41
*compl I ment
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
41
merci pour ce complement, et pour m'avoir indique valgrind, c'est vraiment cool comme logiciel
je dois aussi remercier zerocool pour m'avoir aide a comprendre comment les parseurs fonctionnaient, et m'avoir aide a debuger mon programme
Messages postés
202
Date d'inscription
vendredi 6 juillet 2001
Statut
Membre
Dernière intervention
31 octobre 2007

Je confirme. Maintenant c'est impec', bravo. Plus de memory leak ni d'erreur à l'exécution et en plus ça compile en -ansi -pedantic
Beau travail =)
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
41
c'est corrige (normalement)
Afficher les 8 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.