27 lines
720 B
Markdown
27 lines
720 B
Markdown
|
# BrainRustFucked
|
||
|
YABI (Yet Another Brainfuck Interpretator)
|
||
|
This is designed to embed BrainFuck for applications.
|
||
|
|
||
|
This library provides 2 functions:
|
||
|
|
||
|
```rs
|
||
|
|
||
|
/**
|
||
|
* Eval the code from a raw string returning the memory
|
||
|
*/
|
||
|
fn eval(bf_str: &&str) -> Result<[u8; 30000], String>
|
||
|
|
||
|
/**
|
||
|
* A more low level function to run code in custom environment
|
||
|
* This is useful when you want to use presetted memory & pointer
|
||
|
*/
|
||
|
fn eval_mem(bf_str: &&str, mem: &mut [u8], pointer: &mut usize) -> Result<(), String>
|
||
|
```
|
||
|
|
||
|
Example code:
|
||
|
```rs
|
||
|
// print "Hello world!"
|
||
|
eval("++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++.").unwrap();
|
||
|
```
|
||
|
|
||
|
Also check out `examples/` directory
|