7 个版本
0.2.5 | 2024年5月6日 |
---|---|
0.2.4 | 2024年2月19日 |
0.2.3 | 2023年10月13日 |
0.2.2 | 2023年8月31日 |
0.1.0 | 2023年8月12日 |
#136 in 编程语言
330KB
9K SLoC
Chimpanzee
什么是 Monkey 语言?
Monkey 语言是由 Thorsten Ball 为他的书 《用 Go 编写解释器》 创建的语言。它是一种动态类型语言,具有类似 C 的语法。它支持整数、布尔值、字符串、数组、哈希表和函数。它还具有一等函数、闭包和词法作用域。
Chimpazee
Chimpazee 是 Monkey 语言在 Rust 中的实现。它基于书籍 《用 Go 编写解释器》 和 《用 Go 编写编译器》。
此实现仍在开发中。目前,解释器和编译器已完全实现,允许运行 REPL 并运行 Monkey 文件(.monkey 扩展名)。我还有一些问题想在完成此实现之前解决。
REPL
要启动 REPL,请运行以下命令
monkey
文件解释器
要运行 Monkey 文件,请运行以下命令
monkey <path-to-file>
其他模式
您还可以以相同的方式测试编译器、解析器和词法分析器,在文件路径后添加以下标志
monkey --mode <mode>
其中 <mode>
可以是 compiler
、parser
、lexer
或 interpreter
。
示例
monkey <path-to-file> --mode compiler
格式化工具
还提供了一种 Monkey 格式化工具,二进制文件为 monkeyfmt
。我将格式化任何正确的 Monkey 代码块。要使用它,您只需运行以下命令
monkeyfmt <path-to-file>
在文件名后添加 -r
标志将用格式化代码替换文件内容。如果未激活此标志,则格式化代码将打印到 stdout
。
帮助
要查看帮助,请运行以下命令
monkey --help
安装
Crates.io
Chimpanzee
可作为 cargo crate 提供,这意味着您可以通过简单使用以下命令安装它
cargo install chimpanzee
从源代码安装
要从源代码安装,您必须克隆仓库。克隆后,构建项目
cargo build --release
此步骤可能需要一些时间,预计时间少于2分钟,但可能会更长。
在目录 target/directory
中现在可以找到两个可执行文件: monkey
和 monkeyfmt
。
Monkey语言
有关Monkey语言的信息可在 MONKEY文件 中找到。
依赖项
~4–13MB
~135K SLoC