4 个版本 (2 个破坏性更新)
0.3.1 | 2022年7月9日 |
---|---|
0.3.0 | 2022年7月8日 |
0.2.0 | 2022年7月8日 |
0.1.0 | 2022年7月8日 |
926 在 编程语言 中
40KB
1K SLoC
LolC
一个简单的 Lolcode 到 C 编译器。用 Rust 编写。
安装说明
lolc
需要安装最新版本的 Cargo。
cargo安装 lolcode
什么是 Lolcode?
Lolcode 是一种 esolang,或称图灵完备的编程语言。其语法故意幽默,难以用于实际生产。因此,Lolcode 在软件开发社区中仅用作玩笑。
为什么存在这个项目?
我开发这个 Lolcode 编译器是为了帮助巩固对 Pratt 解析的理解。Lolcode 的解析器基于 Pratt 解析的原则。
感谢 Bob Nystrom 在 Stuff With Stuff 的文章,这篇文章非常出色,有助于解释 Pratt 解析器。Nystrom 使用 Java 实现了他的版本(我这里使用 Rust),但他解释得非常清楚。
感谢 Austin Henley 提供的关于编写编译器的优秀指南。
感谢 Revanth Pothukuchi(GitHub 用户 Hacker007) 向我解释了他语言 Envious 的编译器中的解析器,envyc
。
为什么用 Rust 编写?
我决定用 Rust 编写这个项目,原因有以下几点
- 有效的 & 安全的类型多态性
- 有效的错误处理
- 速度
- 我比 C++ 更熟悉 Rust
依赖关系
~1–11MB
~73K SLoC