publicMasters/MVaP/ALIRE~
2022-11-09 08:41:35 +01:00

62 lines
1.9 KiB
Plaintext

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.g4 Le parser du langage qui produit un analyseur ANTLR4
MVaPAssemblerListener.java Méthode appelée par le parcours de l'arbre d'analyse
qui produit du code binaire (CB)
MVaPAssembler.java L'assembleur qui produit du code binaire
Pile.java Un gestionnaire de pile d'entiers
CBaP.java La machine virtuelle pour le code binaire à pile
** Pour compiler l'assembleur et le machine virtuelle, il faut :
1- Avoir antlr dans son CLASSPATH :
$ export CLASSPATH=.:/usr/local/java/antlr-4.4-complete.jar
ou ajouter aux commandes : -cp .:/usr/local/java/antlr-4.4-complete.jar
2- Lancer antlr sur MVaP.g4
$ java -jar /usr/local/java/antlr-4.4-complete.jar MVaP.g4
3- Compiler l'assembleur et la machine virtuelle (il suffit de demander la
compilation des fichiers contenant les main, javac compilera les autres
classes automatiquement...)
$ javac MVaPAssembler.java CBaP.java
** Pour exécuter du code mvap, il faut :
1- Assembler :
$ java MVaPAssembler add.mvap
ou avec des traces :
$ java MVaPAssembler -d add.mvap
ce qui produit le fichier add.mvap.cbap
2- Exécuter :
$ java CBaP add.mvap.cbap
ou pour mieux comprendre avec des traces :
$ java CBaP -d add.mvap.cbap
** Pour construire le jar, il faut :
1- avoir un META-INF/MANIFEST pour inclure le jar antlr dans le CLASSPATH :
Manifest-Version: 1.0
Version: 2.1
Main-Class: CBaP
Class-Path: /usr/local/java/antlr-4.4-complete.jar
2- Contruire le jar avec :
$ jar cfm MVaP.jar META-INF/MANIFEST *.class
On peut aussi faire tout simplement :
$ make
** Utilisation du jar :
1- Assembler :
$ java -cp .:/usr/local/java/antlr-4.4-complete.jar:MVaP.jar MVaPAssembler add.mvap
2- Exécuter :
$ java -jar MVaP.jar -d add.mvap.cbap