Mitty
Mitty is a Brain*uck to WASM compiler and runtime.
Demo
https://utatti.github.io/mitty/
How to use
Install:
npm i -g @utatti/mitty
Prepare a Brain*uck code:
>++++++++[-<+++++++++>]<.>>+>-[+]++
>++>+++[>[->+++<<+++>]<<]>-----.>->
+++..+++.>-.<<+[>[+>+]>>]<---------
-----.>>.+++.------.--------.>+.>+.
Run mitty
:
# JavaScript interpreter
mitty interpret hello.b
# WASM compiler
mitty compile hello.b hello.wasm
mitty exec hello.wasm
Requirement
Node.js >= 12 is needed to run ES Modules natively.
Test cases
The test cases in the /test directory are copied from the following repository. They have their own licensing.
References
- WebAssembly Specification
- Brainfuck Optimization Strategies by Mats Linander