62 lines
1.9 KiB
Plaintext
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
|