2 个不稳定版本
使用旧的 Rust 2015
0.2.0 | 2018年11月27日 |
---|---|
0.1.0 | 2018年10月15日 |
#42 in #construct
24KB
680 行
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 通用公共许可证版本 3.0 的条款分发。
有关详细信息,请参阅 LICENSE。
依赖关系
~210KB