Tracing semantic intent down to physical machine states with clarity. 以清晰的路径,把语义意图一路追踪到物理机器状态。
Lucid(读音 /ˈluːsɪd/)源自拉丁语 lucidus(明亮的、清晰的):
- Lucid 的核心含义是 "清晰透明"(clarity)——编译器的使命正是把高级语言的"语义意图"毫无歧义地翻译为"机器状态"
- 同时谐音 "Look at it"(看它)——鼓励使用者看清每一层转换:源码 → AST → IR → 汇编 → 机器码
合起来,Lucid 表达的是:一条从人类意图到物理机器状态的、每一步都清晰可见的降级(lowering)路径。它让编译过程不再是一个黑盒。
本项目是用 Rust 从零实现的编译器,核心目标:
- 语义意图 → 机器状态:实现完整的编译流水线(词法 → 语法 → 语义 → IR → 代码生成)
- 全程可追踪:每一层转换都可单独观察、验证——"clarity"贯穿始终
- 编译器认知:通过亲手实现,理解语言设计与机器执行之间的鸿沟如何被跨越
Rust 在编译器领域有天然优势: 模式匹配(AST/IR 遍历的利器)+ 强大的类型系统(语义分析)+ 零成本抽象(优化后端)。
🚧 Work in progress — 正在从词法分析逐层构建。
MIT
