Home

Awesome

erasure: A Whitespace Interpreter

erasure is a Whitespace interpreter and runtime which can also produce an intermediate code representation in Clojure.

This interpreter was built for the term project of COMPSCI 4TB3 at McMaster University

Installation

Dependencies

Build from Source

Install Leiningen

From project root:

$ lein compile
$ lein uberjar

Standalone Jar

Download from https://github.com/JacksYou/erasure/blob/master/target/uberjar/erasure-1.0-standalone.jar.

Usage

$ java -jar erasure-1.0-standalone.jar [options] file

Options

-i, --intermediate  Pretty print Clojure intermediate source generated by the parser
-h, --help

Examples

There are two sample programs located in resources. helloworld.ws is purely Whitespace source while count.c is a Whitespace program embedded into C source which mirrors functionality.

for example, to run count.c:

from standalone jar:

$ java -jar target/uberjar/erasure-1.0-standalone.jar resources/count.c

from lein:

$ lein repl
erasure.core=> (-main "resources/count.c")

License

Distributed under the MIT Public License