5 个版本
0.1.3 | 2019 年 12 月 13 日 |
---|---|
0.1.2 | 2019 年 9 月 14 日 |
0.1.1 | 2019 年 6 月 24 日 |
0.1.0 | 2019 年 6 月 24 日 |
0.0.1 | 2019 年 6 月 24 日 |
#716 in 编程语言
105KB
2K SLoC
增量方案编译器
一个描述在 Abdulaziz Ghuloum 的论文《编译器构造的增量方法》中的小型方案到 x86 汇编编译器。
我从哪里开始?🕵️♀️
阅读论文的前几节来了解前提。
这里有 Scheme、C、Rust 和 x86 汇编的混合,这些是一些开始学习的好地方。
- x86 模块文档 包含了一些很好的 x86/汇编教程的链接。
- 2016 年如何 C 是一个相当不错的 C 复习。
- 《Rust 编程语言》 是学习 Rust 的好起点。
在深入研究代码之前,编译项目并运行一些示例程序(参见 README.md 或测试)。
核心模块 包含编译器使用的所有主要数据类型,是开始阅读代码的好地方。 解析器 使用 nom 实现 scheme 解析器,可以独立于其余项目理解。 即时 记录了 scheme 对象的运行时表示。 rt 和 ffi 描述了运行时细节,如内存管理,而 lang 实现了函数和变量之类的语言级语义。
参见 文档 获取一些额外的说明和注释。
依赖项
~1.3–9MB
~64K SLoC