投稿 提交工具 投放合作

tiger:Appel 教科书的 Tiger 编译器实现

学习教程 105 20 Standard ML 上架 2026-11-13 在 GitHub 打开

用 Standard ML 实现的 Tiger 语言编译器,对应《Modern Compiler Implementation in ML》至第 12 章,生成 SPIM 汇编。

作者称基本按书中指示实现,未做太多改动,并尽量遵循函数式风格、减少可变数据结构的使用。编译器在 macOS 与 Linux 上可用(不支持 Windows),需要 Standard ML 来构建,生成的代码由 SPIM 模拟器运行,两者都可通过 homebrew 获取。构建用 sources.cm 生成镜像;编译时把 .tig 源文件放到项目目录,make 会追加 runtime.s 并生成 .spim 输出,若 .spim 已存在则不会覆盖,需先删除再重新 make。未来工作列有垃圾回收、面向对象特性、函数式特性、多态与类型推断、优化等方向。

Star 趋势2026-11-08 — 2026-11-13当前 Stars 105

10511-0811-1111-13