#编程语言 #猴子 #解释器 #编译器 #数组

bin+lib chimpanzee

Monkey 编程语言实现(解释器、编译器和格式化工具),具有额外功能

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 编程语言

MIT/Apache

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> 可以是 compilerparserlexerinterpreter

示例

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 中现在可以找到两个可执行文件: monkeymonkeyfmt

Monkey语言

有关Monkey语言的信息可在 MONKEY文件 中找到。

依赖项

~4–13MB
~135K SLoC