Skip to content

qfiard/SimpleMLCompiler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SimpleMLCompiler
================

Compiler for a subset of ML

Reference :
  This project is part of a course taught at the Ecole polytechnique on the subject
of software verification. For more information please visit the web page of the course
http://www.enseignement.polytechnique.fr/informatique/INF565/
or the web page for this project
http://www.enseignement.polytechnique.fr/informatique/INF565/projets/projet-ml.html

How to use :
  A Makefile is given to automatically compile the whole project. Run make to
build the compiler, make test to run the compiler on the provided set of tests
located in the test folder.

The compiler is at the time being able to : 
    - parse the subset of the ML syntax that was chosen for this project
    - transform it into an abstract tree where variables are represented 
      by De Bruijn indexes
    - interpret the program to output its result
    - transform the abstract syntax tree into a sequence of instructions
      understandable by a stack abstract machine
    - simulate the abstract machine semantics to run the sequence of
      instructions, and thus interpret the program in a more efficient
      way

 DONE Implement expressions with side effects  
   Note : unit types have also been implemented
TODO :
    - Add support for a data type that supports couples
    - Implement a heap and heap allocation

Notes :
  * Automatic compilation requires ocamlfind from findlib

About

Compiler for a subset of ML

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages