Skip to content

Fork of James You's Whitespace interpreter in Clojure

License

Notifications You must be signed in to change notification settings

wspace/jmesyou-erasure

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Fork of James You's Whitespace interpreter in Clojure

Topics

Resources

License

Stars

Watchers

Forks

Languages

  • Clojure 98.2%
  • C 1.8%