2个版本
0.1.2 | 2023年5月8日 |
---|---|
0.1.1 | 2023年5月8日 |
#391 in 编程语言
1.5MB
3K SLoC
Brainterpreter
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