3 releases
| 0.0.3-alpha | Nov 10, 2022 |
|---|---|
| 0.0.2-alpha | Nov 10, 2022 |
| 0.0.1-alpha | Nov 7, 2022 |
#153 in #evm
Used in 2 crates
145KB
4K
SLoC
Sonatina
Sonatina is a compiler backend specialized for smart contracts.
Sonatina is really early stage in development, so do NOT use it for production!
Project layout
sonatina consists of several crates.
codegen: The main crate ofsonatina, providing builder for IR modules and functions, optimization passes, instruction selection DAG, and binary code emitting.filecheck: Provides test runner forfilecheckand test fixtures.parser: Parser forsonatinaIR, this is mainly forfilechecktest.object: Provides abstract object file format for linker.triple: Provides target triple for smart contracts.
TODO
- IR verifier
- ISel DAG
- Global Stack allocation for EVM
- Intrinsics
- Object
- Linker
Test
Run test_all.sh.
Dependencies
~2MB
~41K SLoC