publicMasters/1-ComputationAndData/MVaP/ALIRE

37 lines
1.6 KiB
Plaintext

# La machine virtuelle à pile.
Une machine pédagogique pour donner une idée de ce qu'est l'assembleur.
Dans le cadre d'un cours de compilation, par exemple en L3 informatique, on peut demander aux étudiants de coder un compilateur qui va transcrire un langage de haut niveau similaire à du python (sans objets et avec quelques types simples entiers, flottants, tableaux) vers du code MVàP.
## Contenu du répertoire.
* add.mvap Un exemple simple de programme
* 3n+2.mvap Un exemple moins simple de programme
* test.mvap Un exemple avec appel de fonction
* MVaP.jar Une archive java qui propose 2 exécutables
MVaPAssembler (assemble en un binaire)
CBaP (interprète le binaire).
* antlr-4.5.2-complete.jar Une archive java contenant de nombreux binaires permettant d'écrire des compilateurs sur lequel le code de la MVàP s'appuit.
## Pour utiliser la MVàP
Il faut avoir java d'installé sur sa machine (c'est le cas si vous passez par proxmox des machines de l'IUT).
** Pour exécuter du code mvap, il faut :
1- Assembler :
$ java -cp antlr-4.5.2-complete.jar:MVaP.jar MVaPAssembler add.mvap
ou avec des traces (option -d) :
$ java -cp antlr-4.5.2-complete.jar:MVaP.jar MVaPAssembler -d add.mvap
ce qui produit le fichier add.mvap.cbap
Le fichier .cbap (code binaire à pile) est du binaire que la machine peut exécuter.
2- Exécuter :
$ java -jar MVaP.jar add.mvap.cbap
ou pour mieux comprendre avec des traces :
$ java -jar MVaP.jar -d add.mvap.cbap