This is only known to work on my machine at the moment. I'm running macOS and stable Rust If you'd still like to give it a go then make sure you have:
The compiler is written in Rust and built with Cargo. Functional tests are defined by a collection of source in spec/
and run by specs.py
. It's easier to run the tests with a virtual environment. Rather than running cargo
or python directly use the build.sh
script. This will set up the required python environment as required.
The source is all available at GitHub. Pull requests, comments and issues are welcome. Any thoughts I find interesting during development might be posted to my blog.
The compiler can be built with ./build.sh build --release
from the root directory. This should create a target/release/ullage
executable. With this executable in your path you can compile an example program with $ ullage -o hello specs/hello.ulg
. This will produce an executable called hello
in the current directory based on the source file specs/hello.ulg
. Running $ ./hello
should then print 1337 to the terminal. For full usage instructions on the compiler run $ ullage --help
.