6个稳定版本

2.0.4 2022年8月1日
2.0.0 2022年7月27日
1.2.0 2022年7月27日

#323 in 编程语言

31 每月下载量
用于 roost-cli

GPL-2.0-only

1MB
3.5K SLoC

Roost - 一种用于演示的基本编程语言

Roost 是一个解释型编程语言的简单示例。它的名字是它所编写的语言 - Rust - 和单词 "rooster" 的组合。

我是在我高中11年级关于编程语言结构的必修研究论文的背景下创建这种语言的。结果论文可以在 这里 找到。论文的主要重点是词法分析和解析步骤、正则语言和上下文无关语言,以及语言的语法定义。之后是关于编译器和 LLVM 的一些简短说明,以及树遍历解释器的某些基本实现细节。

实际上,论文的大部分内容都引用了 rost,这是一种更简化的语言,仅作为计算器使用,但遵循相同的原理,因为在写作过程中我很快发现,即使是 Roost 也太复杂,无法在如此短的论文中进行解释。

Logo of Roost

这里和论文标题页上看到的标志是由我的朋友和同学 Mik Müller 创建的。

另请参阅

本地使用

1. 克隆此仓库

git clone https://github.com/RubixDev/roost.git && cd roost

2. 编译二进制文件

make release

3. 将二进制文件复制到您的PATH路径

sudo cp target/release/roost-cli /usr/local/bin/roost

或仅为此用户

cp target/release/roost-cli ~/.local/bin/roost

注意:此步骤假设您正在运行Linux并且已正确设置$PATH变量。在其他操作系统上,您可以通过指定完整路径来运行二进制文件,或者使用cargo run --release

4. 运行Roost代码

使用REPL/交互式外壳

在没有任何额外参数的情况下执行roost命令时,您将进入Roost的REPL。在这里,您可以简单地输入表达式并逐个执行。

运行文件

要运行一个文件(通常以.ro结尾),请将文件的路径传递给roost作为第一个参数。例如

roost samples/sample.ro

依赖项