Carlvb's pmachine : une machine virtuelle qui carbure au pcode

Soyez le premier à donner votre avis sur cette source.

Vue 3 294 fois - Téléchargée 304 fois

Description

C'est une machine virtuelle qui exécute des instructions PCode. La mémoire est gérée en pile et il n'y a donc pas de registre (à part le pointeur de sommet de plie et le pointeur d'instruction)
Les opérateurs prennent leurs arguments sur la pile et y déposent leur résultat.
Un fichier support.rtf est inclus dans le zip pour la liste des instructions utilisables. Des exemples ont aussi été inclus dans le répertoire Exemples pour illustrer certaines instructions.
L'ensemble est facilement modifiable et les évolutions ne devraient poser de problèmes.
Il y a encore beaucoup de bugs alors j'implore déjà votre indulgence.
Bonne programmation à tous.

Source / Exemple :


le tout est inclus dans le zip

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
199
Date d'inscription
mercredi 23 avril 2003
Statut
Contributeur
Dernière intervention
25 mai 2017
7
Effectivement, j'ai fait un détour sur le site proposé par bigane et j'ai pu constater que c'est vraiment un langage (d'assez bas niveau) car à part les opérations arithmétiques il y a bien des instructions et des commandes.
Bonne prog.
Messages postés
46
Date d'inscription
lundi 4 février 2002
Statut
Membre
Dernière intervention
12 février 2004

Faux,

le Forth est un langage qui utilise la notation postfixée, mais c'est un langage. Et il est plus vieux que le PHP, le vbscript, le .net et autres...

Son atout le plus puissant est qu'il est compilable pour de nombreux processeurs et très très petit (1 ko suffit). A une époque cela permettait de l'installer dans des systèmes de contrôle ou d'automates.
Les temps ont changé, la mémoire se compte en Mo, et ce langage tombe dans l'oubli.
Avant de donner un autre avis, zieute ce lien :
http://www.forth.org/
et la prochaine conférence mondiale (le 17 oct 2003):
http://www.micross.co.uk/euroforth2003/Call_for_papers.html
A+
bigane
Messages postés
2368
Date d'inscription
mardi 17 avril 2001
Statut
Modérateur
Dernière intervention
26 décembre 2007
16
Cela s'appelle des expressions arithmétiques PostFixé, ca existe aussi en préfixé , ce n'est pas un langage....

C t juste pour info

Bonne continuation a tous.
Messages postés
46
Date d'inscription
lundi 4 février 2002
Statut
Membre
Dernière intervention
12 février 2004

oui, c'est intéressant.
Cela ressemble à un émulateur assembleur d'un petit processeur.

Si tu ne connais pas, je pense que tu peux être intéressé par le langage Forth. Il fonctionne aussi avec des instructions élémentaires et un système de pile. Cela peut te donner des idées.

Tu trouveras une démo en java ici :
http://webdev.amsystech.com/mlosh/webforth.htm
Tu pourras alors saisir cette série de mots séparés par des espaces :
(tapes tous les caractères, et ENTER pour valider)
123 456 + .
le résultat donne la somme de 123 + 456
Pour créer ton premier programme en Forth, tu écriras :
: carlvb 123 456 + . ;
Pour faire fonctionner ce programme tu écriras :
carlvb
Pour faire ton second programme tu écriras :
: second 789 carlvb 012 345 * + . ;
Et tu risque de passer plusieurs heures à réver et à imaginer des applications de ce langage...

Bonne continuation.
Bigane
Messages postés
199
Date d'inscription
mercredi 23 avril 2003
Statut
Contributeur
Dernière intervention
25 mai 2017
7
je n'ai jamais cru obtenir un 8/10 de la part d'un grand nom de la programmation comme EBartSoft. (c'est un véritable honneur pour moi).
Pour les fonctions et l'interface, tu as raison, il y manque encore cruellement de choses. Je compte l'améliorer progressivement.
Pour les scripts je n'ai pas encore la compétence pour ce genre de programme. (jusqu'ici je n'ai fait qu'un intérpréteur de pascal).

Merci encore.
Afficher les 7 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.