BrainFuck compiler in Rust procedural macro metaprogramming.
The BrainFuck code from https://fatiherikli.github.io/brainfuck-visualizer/, see it how to work.
The BrainFuck compiler generates the below code to "Hello World!" at compiler time(metaprogramming), and printing it at run time.
Implementing in Rust procedural macro way.
```rust extern crate brainfuck; use brainfuck::brainfuck; fn main() { println!("{}", brainfuck!( ++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.
---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++. )); } ```
emit asm code: ```nasm brainfuck::main::h3aaadb2fa73e0763: ... pushq %rbp movq %rsp, %rbp subq $64, %rsp leaq lunnamed2(%rip), %rax movq %rax, -16(%rbp) leaq _$LT$$RF$T$u20$as$u20$core..fmt..Display$GT$::fmt::h45c22d68a23dc67a(%rip), %rax ... lunnamed6: .ascii "Hello World!_int128"
.section __DATA,__const
.p2align 3
lunnamed2: .quad lunnamed6 .asciz "\r\000\000\000\000\000\000" ```