Compilateur en OCaml vers du MIPS
This repository has been archived on 2022-12-27. You can view files and clone it, but cannot push or open issues or pull requests.
Find a file
Mylloon f657f8d9d7
* add beq and bne
* use optional arg for indentation while formating instructions
2022-12-09 22:00:59 +01:00
tests test sub 2022-12-09 16:54:30 +01:00
.gitignore ignore asm files 2022-12-08 15:35:20 +01:00
.ocamlformat use ocamlformat 2022-12-06 22:22:48 +01:00
ast.ml add baselib support 2022-12-09 14:45:59 +01:00
baselib.ml fix registers 2022-12-09 16:58:17 +01:00
compiler.ml add baselib support 2022-12-09 14:45:59 +01:00
errors.ml move all error related stuff to errors.ml file 2022-12-09 21:47:22 +01:00
lexer.mll move all error related stuff to errors.ml file 2022-12-09 21:47:22 +01:00
main.ml move all error related stuff to errors.ml file 2022-12-09 21:47:22 +01:00
Makefile update tests 2022-12-08 21:30:56 +01:00
mips.ml * add beq and bne 2022-12-09 22:00:59 +01:00
parser.mly indent 2022-12-09 17:04:33 +01:00
README.md add hard to do idea 2022-12-09 21:51:03 +01:00
semantics.ml move all error related stuff to errors.ml file 2022-12-09 21:47:22 +01:00

Compilateur vers du MIPS en OCaml

Usage

Compilation

$ make

Utilisation

$ ./main.byte {fichier source} > sortie.s

Une fois le fichier assembleur créé, il est possible d'utiliser spim : spim -file sortie.s

Lance les tests

$ make test

Fonctionnalités

  • Type int
  • Type bool
  • Type string
  • Déclaration / assignation de variables
  • Librairie standard (multiplication, addition, comparateur, ...)
  • Conditions
  • Boucles
  • Fonctions utilisateurs
  • Allocation mémoire (malloc)
  • Pointeurs
  • Listes + fonctions écrites dans notre language pour gérer ses listes