Skip to content

Latest commit

 

History

History
23 lines (20 loc) · 743 Bytes

README.md

File metadata and controls

23 lines (20 loc) · 743 Bytes

dream

A study project for my free time: implementing a compiler in Haskell.

The original language used in my compilers course is called e2, here I'm trying to work with e2 as a basis and enhance it further, but first of all I gotta port it to Haskell, the e2c is implemented in Java (yuck!).

Usage

The project is compiled with cabal. Since it is not very complex yet, this doesn't require much explanation. There are two targets/executables:

  1. The actual dream compiler, used like gcc with various commandline arguments
$ cabal run dreamc

arguments to dreamc go after --

example:

$ cabal run dreamc -- test-programs/plot.dream -o plot --keep
  1. The dream interpreter
$ cabal run dreamci