3 个版本
0.0.3-alpha | 2022 年 11 月 10 日 |
---|---|
0.0.2-alpha | 2022 年 11 月 10 日 |
0.0.1-alpha | 2022 年 11 月 7 日 |
#10 in #target-triple
用于 3 crates
8KB
150 行
Sonatina
Sonatina 是一个针对智能合约的编译器后端。
Sonatina 处于非常早期的开发阶段,因此请勿在生产环境中使用它!
项目布局
sonatina
包含几个 crates。
codegen
:sonatina
的主要 crate,提供 IR 模块和函数的构建器、优化流程、指令选择 DAG 和二进制代码输出。filecheck
: 为filecheck
提供 test 运行器和测试 fixture。parser
:sonatina IR 的解析器,主要用于
filecheck
测试。object
: 为链接器提供抽象的目标文件格式。triple
: 为智能合约提供目标三重。
待办事项
- IR 验证器
- ISel DAG
- EVM 的全局堆分配
- 内联函数
- 对象
- 链接器
测试
运行 test_all.sh
。
依赖项
~280–740KB
~17K SLoC