Awesome
Albino
This is a compiler front-end for the esoteric languages (Whitespace, Brainfuck, Ook!, DT) which is build as part of the Whitebase compiler infrastructure project.
This tools and Whitebase are written in Rust.
Features
- The interpreter for Whitespace, Brainfuck, Ook! and DT.
- The compiler and decompiler for these.
- The assembly language for Whitespace.
Quick Start
cargo build
target/albino run examples/hello.ws
Usage
Run script
You can run the script directly. Type albino run
command.
albino run hello.ws
albino
can detect file type using extention, but you could specify any other.
albino run -s dt hello.ws
Compile and execute
albino
compiles the source code to Whitebase bytecode, and it can be executed directly without parsing later.
albino build -o hello.bc hello.ws
albino exec hello.bc
Tend to be larger than the original source code to byte code. It is a strange thing.
Disassemble bytecodes
Whitespace's source code is beautiful, but you might be tempted to disassemble due to unavoidable circumstances.
albino
provides the human readable assembly language that equivalent to the byte code.
albino gen -o hello.asm hello.bc
Convert to Whitespace
Ook! is orangutan-friendly language, but not secure because can be read by even the orangutan.
First, compile Ook!'s code to bytecode, and then decompile to Whitespace, print it out at the end.
albino
is very useful for spies.
albino build hello.ook | albino gen -o hello.ws
License
This project distributed under the MIT License. http://opensource.org/licenses/MIT