Brainfuck-js 🧠⚡
This module can compile brainfuck code into javascript
functions and webassembly
(wat, wasm).
🙊🤯
Usage
Compiling brainfuck code.
const compile runtimeMode = // ROT13 example from wikipediaconst code = `-,+[-[>>++++[>++++++++<-]<+<-[>+>+>-[>>>]<[[>+<-]>>+>]<<<<<-]]>>>[-]+>--[-[<->+++[-]]]<[++++++++++++<[>-[>+>>]>[+[<+>-]>+>>]<<<<<-]>>[<+>-]>[-[-<<[-]>>]<<[<<->>-]>>]<<[<<+>>-]]<[-]<.[-]<-,+]` // (default) returns js function String -> String // returns js function (async String -> String) -> async String // returns js function (String -> (), async () -> String) -> async () // returns wat code // returns wasm binary // returns promise resolving to wasm function wrapped arround js function async (String -> String)
Parsing code.
const parse instructions = // returns AST { type: Symbol, val: * } for example { type: instructions.Program, val: [...] }