Eurydice: a Rust to C compiler (yes)
5 months ago
- #C
- #Rust
- #Compiler
- Eurydice是一个将Rust代码编译为可读性强的C代码的编译器
- 该项目通过支持渐进式迁移和维护单一权威的Rust版本,解决Rust语言采用过程中的障碍
- 编译器在MIR层面工作,利用Charon工具简化与rustc的交互
- 关键技术挑战包括全程序单态化、模式匹配编译,以及确保生成可读的C代码
- Eurydice包含多项代码质量优化,如窥孔优化和数组重复表达式的处理
- 当前限制包括Rust与C对象可能存在内存布局差异,以及违反严格别名规则的问题
- 未来目标包括通过虚表(vtable)支持dyn trait,并扩展可编译为C的Rust子集
- 项目名称源自希腊神话中的欧律狄刻(Eurydice)故事,延续了相关项目的古希腊神话命名传统