1个不稳定版本
0.1.0 | 2019年7月12日 |
---|
#46 在 #unified
249 星 & 14 关注者
560KB
14K SLoC
Eir项目
Erlang编译器和IR用Rust实现
详细信息
当前功能
- 基于Thorin的统一IR表示名为Eir
- Erlang前端
- 核心前端
- 模式匹配编译通过
- 基本优化和清理通过
- 用于测试的朴素解释器
项目分为几个crate
libeir_ir
- 包含核心Eir IR数据结构、验证、打印libeir_syntax_erl
- Erlang前端,降低到Eir。libeir_syntax_core
- Core Erlang前端,降低到Eir。libeir_passes
- 在Eir上操作的编译通过libeir_lowerutils
- 用于将Eir降低到SSA形式的工具libeir_interpreter
- Eir的朴素解释器。用于运行OTP测试套件。libeir_intern
- 符号内部化。由大多数其他crate使用。libeir_diagnostics
- 源跨度处理和诊断打印。libeir_util
- 其他crate使用的工具的杂烩。pattern-compiler
- 一个通用的模式匹配树编译器。tools
- 用于与IR交互的CLI工具。
依赖项
~3–11MB
~123K SLoC