Update README
This commit is contained in:
33
README
33
README
@@ -1,17 +1,38 @@
|
|||||||
______________________________
|
___________________________
|
||||||
|
|
||||||
OREO'S BRAINFUCK INTERPRETER
|
OREO'S BRAINFUCK COMPILER
|
||||||
|
|
||||||
Aryadev Chavali
|
Aryadev Chavali
|
||||||
______________________________
|
___________________________
|
||||||
|
|
||||||
|
|
||||||
Here is a simple brainfuck compiler written in C. Most of the code was
|
Here is a simple brainfuck compiler/interpreter written in C. Most of
|
||||||
written in 2023.
|
the code was written in 2023, but the compiler code was written in 2024.
|
||||||
|
|
||||||
|
|
||||||
|
Build instructions
|
||||||
|
==================
|
||||||
|
|
||||||
|
A C compiler capable of compiling C11 is required. `clang' and `gcc'
|
||||||
|
have been tested. `yasm' and `ld' are required for `obc', but the
|
||||||
|
assembly transpile step should work.
|
||||||
|
|
||||||
|
|
||||||
Goals
|
Goals
|
||||||
=====
|
=====
|
||||||
|
|
||||||
+ [X] Complete reference interpreter for brainfuck
|
+ [X] Complete reference interpreter for brainfuck
|
||||||
+ [ ] Native compiler
|
+ [X] Native compiler
|
||||||
|
|
||||||
|
|
||||||
|
Notes
|
||||||
|
=====
|
||||||
|
|
||||||
|
I cheat heavily to make the native compiler here; I'm not writing my
|
||||||
|
own ELF executables by hand (using `elf.h'). Instead I write valid
|
||||||
|
assembly code in a string buffer, then compile that via `yasm' and
|
||||||
|
`ld'.
|
||||||
|
|
||||||
|
It shouldn't be all that difficult to make a JIT from this point; just
|
||||||
|
translating the assembly snippets into machine code and embedding that
|
||||||
|
into an executable page.
|
||||||
|
|||||||
Reference in New Issue
Block a user