Console-based REPL Implementation - Use Jump table dispatch for execution - RLE preprocessing as optimization - Buffered output to minimize redraw - File loading support via run command - Add REPL commands: help, run, clear, reset, exit - Two implementation: bf_shell_interp.asm, bf_console_interp.asm This is my first contribution to KolibriOS for GSOC 2026 WASM runtime project preparation
36 lines
1.2 KiB
Brainfuck
36 lines
1.2 KiB
Brainfuck
+++[>+++++<-]>>+<[>>++++>++>+++++>+++++>+>>+<++[++<]>---]
|
|
|
|
>++++.>>>.+++++.>------.<--.+++++++++.>+.+.<<<<---.[>]<<.<<<.-------.>++++.
|
|
<+++++.+.>-----.>+.<++++.>>++.>-----.
|
|
|
|
<<<-----.+++++.-------.<--.<<<.>>>.<<+.>------.-..--.+++.-----<++.<--[>+<-]
|
|
>>>>>--.--.<++++.>>-.<<<.>>>--.>.
|
|
|
|
<<<<-----.>----.++++++++.----<+.+++++++++>>--.+.++<<<<.[>]<.>>
|
|
|
|
,[>>+++[<+++++++>-]<[<[-[-<]]>>[>]<-]<[<+++++>-[<+++>-[<-->-[<+++>-
|
|
[<++++[>[->>]<[>>]<<-]>[<+++>-[<--->-[<++++>-[<+++[>[-[-[-[->>]]]]<[>>]<<-]
|
|
>[<+>-[<->-[<++>-[<[-]>-]]]]]]]]]]]]]
|
|
|
|
<[
|
|
-[-[>+<-]>]
|
|
<[<<<<.>+++.+.+++.-------.>---.++.<.>-.++<<<<.[>]>>>>>>>>>]
|
|
<[[<]>++.--[>]>>>>>>>>]
|
|
<[<<++..-->>>>>>]
|
|
<[<<..>>>>>]
|
|
<[<<..-.+>>>>]
|
|
<[<<++..---.+>>>]
|
|
<[<<<.>>.>>>>>]
|
|
<[<<<<-----.+++++>.----.+++.+>---.<<<-.[>]>]
|
|
<[<<<<.-----.>++++.<++.+++>----.>---.<<<.-[>]]
|
|
<[<<<<<----.>>.<<.+++++.>>>+.++>.>>]
|
|
<.>
|
|
]>
|
|
,]
|
|
|
|
<<<<<.<+.>++++.<----.>>---.<<<-.>>>+.>.>.[<]>++.[>]<.
|
|
>[Translates brainfuck to C. Assumes no-change-on-EOF or EOF->0.
|
|
Generated C does no-change-on-EOF, and uses unistd.h read and write calls.
|
|
Daniel B Cristofani (cristofdathevanetdotcom)
|
|
http://www.hevanet.com/cristofd/brainfuck/]
|