The laziest compiler ever
Haskell C Shell
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
doc
src
testsuite
viz
.gitignore
AUTHORS
LICENSE
README
Setup.lhs
decaf.cabal

README

BUILD SYSTEM
------------

In order to build, we're using the cabal build system;
you should have the latest version of the Haskell platform installed.

from the root directory, run:

  cabal configure
  cabal build
  cabal install

And cabal will prepare, build and install the project binaries into ~/.cabal/bin.
We suggest adding ~/.cabal.bin to your PATH environment variable.

BINARIES
--------

scanner       -- utilize as 'scanner x', where x is the file you'd like to scan.
scanner-repl  -- utilize as in interactive REPL, to view the scanning of tokens in real-time
parser        -- utilize as 'parser x', where x is the file you'd like to parse.
grapher       -- utilize as 'grapher x', where x is the file you'd like to scan, parse and graph
                 the resulting AST. requires the graphviz binary 'dot' installed on your system,
                 (assuming it's on your PATH, else grapher fails) and outputs a 'outputfile.out.png',
                 as the visuazlization of the AST.
checker       -- utilize as 'checker x', where x is the file you'd like to scan, parse and check for semantic errors.

DEBUG
-----
With exception of grapher, binaries output error messages if any errors are encountered,
otherwise they output nothing. If the '-debug' flag is supplied, then the binaries always
output debug output to stdout.

DIRECTORIES
-----------

dist/
  compiled binaries, documentation etc.

src/
  source for binaries + utilities
  Decaf/
    compiler codebase

testsuite/
  tests
viz/
  visualizations of graphs we've been working with