2个版本

0.1.2 2023年5月8日
0.1.1 2023年5月8日

#391 in 编程语言

MIT 许可证

1.5MB
3K SLoC

Brainterpreter

Build Coverage Documentation

Bauble编程语言的解释器。为Levi9的TechIn talks创建。

注意:这是一个实现沙盒。我计划交付一个具有相同功能但更适合教育的新的仓库。

解释器作为一个教育实验被创建。主要目标是运行用这种玩具语言编写的Brainfuck解释器。您可以在“示例”部分查看“hello, world”。

里面有什么?

仓库包含Bauble编程语言的解析器、编译器和虚拟机。该语言具有类似C的语法。支持的功能

  • 算术;
  • 字符串;
  • 布尔值;
  • if语句;
  • while循环;
  • 数组;

什么是Bauble?

Bauble是一种专为技术谈话创建的玩具编程语言。

文档

请查看项目页面以获取一些文档。

文档编写仍在进行中。

运行解释器

默认情况下,项目作为包含所有运行解释器部分的库进行构建。如果您不想构建自己的二进制文件,请使用启用了cli功能的brainterpreter进行构建。

cargo build --features cli

cli功能提供了一个bauble二进制文件。bauble运行给定源文件的解释器。

如果您想跟踪程序的虚拟机执行,请将日志级别设置为debug

RUST_LOG=debug bauble examples/hello_world.bbl

构建后,二进制文件可以在target/debug/bauble(或如果您使用--release标志进行构建,则为target/release/bauble)中找到。

您还可以使用cargo run命令运行解释器

cargo run --features cli -- examples/hello_world.bbl

依赖项