Skip to content
/ albino Public
forked from faultier/albino

Whitespace compiler, assembler and interpreter written in Rust.

License

Notifications You must be signed in to change notification settings

helvm/albino

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Albino

Build Status

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

About

Whitespace compiler, assembler and interpreter written in Rust.

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

No packages published

Languages

  • Rust 100.0%