3个版本
0.0.3-alpha | 2022年11月10日 |
---|---|
0.0.2-alpha | 2022年11月10日 |
0.0.1-alpha | 2022年11月7日 |
#5 in #smart-contract
490KB
11K SLoC
Sonatina
Sonatina 是一个专门为智能合约设计的编译器后端。
Sonatina 目前处于非常早期的开发阶段,所以请不要在生产环境中使用它!
项目布局
sonatina
由几个crate组成。
codegen
:sonatina
的主要crate,提供IR模块和函数的构建器、优化过程、指令选择DAG和二进制代码输出。filecheck
: 提供了filecheck
的测试运行器和测试夹具。parser
:sonatina
IR的解析器,主要用于filecheck
测试。object
: 为链接器提供抽象的目标文件格式。triple
: 为智能合约提供目标三元组。
待办事项
- IR验证器
- ISel DAG
- EVM的全局栈分配
- 内联函数
- 对象
- 链接器
测试
运行 test_all.sh
。
依赖关系
~1.6–2.3MB
~44K SLoC