3个不稳定版本
使用旧的Rust 2015
0.2.1 | 2018年12月4日 |
---|---|
0.2.0 | 2018年11月27日 |
0.1.0 | 2018年10月15日 |
#100 in #solidity
185KB
4.5K SLoC
Lunarity
一个高性能、以正确性为导向的Solidity解析器和其他工具。
生成的AST大多符合 grammar.txt。AST是静态类型的,以确保无法构造出非法语法的AST表示。
性能
它真的非常快。
Running target/release/deps/second_price_auction-2b369ce54b97fb9f
running 2 tests
test parse_to_ast ... bench: 24,028 ns/iter (+/- 573) = 562 MB/s
test tokenize ... bench: 15,037 ns/iter (+/- 1,405) = 898 MB/s
在读取字节/令牌时,词法分析和解析器都不会回溯。解析器使用 分页竞技场分配器 来避免堆分配成本(或垃圾回收成本,或任何其他成本)。
请随意重新运行基准测试(需要nightly Rust,使用rustup:rustup run nightly cargo bench
)
许可证
本软件包在GNU GENERAL PUBLIC LICENSE版本3.0的条款下分发。
有关详细信息,请参阅 LICENSE。
依赖关系
~1.5MB