2023-08-22 09:45:31 +02:00
|
|
|
# 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!"
|
2023-08-22 09:46:13 +02:00
|
|
|
eval(&"++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++.").unwrap();
|
2023-08-22 09:45:31 +02:00
|
|
|
```
|
|
|
|
|
|
|
|
Also check out `examples/` directory
|