semaine 5
This commit is contained in:
36
MVaP/ALIRE
Normal file
36
MVaP/ALIRE
Normal file
@@ -0,0 +1,36 @@
|
||||
# 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
|
||||
|
Reference in New Issue
Block a user