brainhug
is a crate that is used to interpret brainf*ck code to any other language
Inspired from link
Add this to your Cargo.toml
:
toml
[dependencies]
brainhug = "*"
and this to your crate root:
rust
extern crate brainhug;
use brainhug::Lang;
Read contributing for Details
```rust extern crate brainhug; use brainhug::Lang;
fn main() {
// will print Hello World!
let input = "++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++.";
// `brainhug::generate` will generate a `String`
println!("{}", brainhug::generate(Lang::C, input));
} ```
```c
int main() { char tape[20000] = {0}; char ptr = tape; *ptr += 8; while (ptr) { ptr += 1; ptr += 4; while (ptr) { ptr += 1; ptr += 2; ptr += 1; *ptr += 3; ptr += 1; *ptr += 3; ptr += 1; *ptr += 1; ptr -= 4; *ptr -= 1; } ptr += 1; *ptr += 1; ptr += 1; *ptr += 1; ptr += 1; *ptr -= 1; ptr += 2; *ptr += 1; while (ptr) { ptr -= 1; } ptr -= 1; ptr -= 1; } ptr += 2; putchar(ptr); ptr += 1; ptr -= 3; putchar(ptr); ptr += 7; putchar(ptr); putchar(ptr); *ptr += 3; putchar(ptr); ptr += 2; putchar(ptr); ptr -= 1; *ptr -= 1; putchar(ptr); ptr -= 1; putchar(ptr); *ptr += 3; putchar(ptr); ptr -= 6; putchar(ptr); ptr -= 8; putchar(ptr); ptr += 2; ptr += 1; putchar(ptr); ptr += 1; ptr += 2; putchar(ptr); } ```
Licensed under