1个不稳定版本

0.1.0 2024年8月12日

#254编程语言

Download history 121/week @ 2024-08-10

每月121次下载

Apache-2.0 OR MIT

53KB
1.5K SLoC

BFBackend:Brainfuck编译器后端

BFBackend是一个Rust crate,允许您使用Rust函数生成Brainfuck代码。

特性

  • 比较(等于、不等于、大于和小于)
  • 文本显示
  • 读取指定长度的字符串
  • 高效地设置单个单元格和数组
  • 高效地匹配字节的值
  • 乘法、除法、加法、减法、指数
  • 通用的变量/内存操作工具

概念

  • 变量:存储内存片段和变量数据的容器
  • ByteRef:对内存中特定单元格的引用以及该单元格所属变量的引用
  • MemoryRange:指向起始单元格的指针以及数据的大小

如何使用

  • 创建一个 BfContext
    use bfbackend::BfContext;
    let ctx = BfContext::default();
    
  • 在其上运行函数以生成Brainfuck代码
    let mut my_num = ctx.declare_and_set_byte(42);
    ctx.add_to_var(&mut my_num.get_byte_ref());
    
  • 获取您的代码
    let code = ctx.build_code();
    println!("{code}");
    

依赖项

~305–770KB
~18K SLoC