Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/shaolans/universal_machine


https://github.com/shaolans/universal_machine

antlr4 compiler icfp2006 virtual-machine

Last synced: about 11 hours ago
JSON representation

Awesome Lists containing this project

README

        

# Universal Machine

## But
Ce projet à pour but, l'implantation de la machine universelle dont les spécifications
proviennent du concours de programmation ICFP de 2006.
Se trouve aussi, une implantation d'un compilateur du langage S-UM vers le langage binaire comprit par la machine universelle.

## Compiler le projet
Le projet contient à la racine la machine virtuelle (universal_machine) et le compilateur S-UM (SUMCompiler.jar).
Cependant si vous souhaitez tout de même compiler les différents programmes,
suivez la description suivante.

### Compiler la machine universelle
Depuis la racine du projet:
1. cd um
2. make clean
3. make
La machine universelle se trouvera dans ./um

### Compiler le compilateur S-UM
1. cd sum/SUM
2. ant clean
3. ant jar
Le compilateur se trouvera sur le chemin ./sum/SUM/jar

## Executer le projet
### Executer la machine universelle
La machine universelle s'éxecute comme ceci:
./universal_machine
Par exemple:
Si vous êtes à la racine du projet vous pouvez éffectuer la commande suivante:
./universal_machine ./um/ressources/sandmark.umz
ou
./universal_machine ./tests/test-print/test-print.um

### Compiler un fichier SUM vers le langage UM
Pour compiler un fichier, éffectuez cette commande:
java -jar SUMCompiler.jar [--verbose-asm || --verbose]
Par exemple:
Si vous êtes à la racine du projet vous pouvez éffectuer la commande suivante:
java -jar SUMCompiler.jar ./tests/test-print/test-print.sum ./tests/test-print/test-print.um --verbose-asm
ou
java -jar SUMCompiler.jar ./tests/test-print/test-print.sum ./tests/test-print/test-print.um
ou
java -jar SUMCompiler.jar ./tests/test-print/test-print.sum ./tests/test-print/test-print.um --verbose