3 releases
0.0.3-alpha | Nov 10, 2022 |
---|---|
0.0.2-alpha | Nov 10, 2022 |
0.0.1-alpha | Nov 7, 2022 |
#14 in #smart-contract
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 forfilecheck
and test fixtures.parser
: Parser forsonatina
IR, this is mainly forfilecheck
test.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
~1.6–2.2MB
~42K SLoC