1个不稳定版本
0.1.1 | 2022年5月22日 |
---|
#4 in #yul
用于 2 个crate(通过 yul)
37KB
817 行
Yul解析器
解析Yul编程语言。请参阅yul规范。
解析器使用Logos进行词法分析,使用Rowan进行解析。词法(也称为词法分析器)在[token.rs][./src/tokens.rs]中定义,语法(也称为语法)在[syntax.rs][./src/syntax.rs]中定义。
架构基于rust-analyzer的架构。事实上,rowan
是rust-analyzer项目的一部分。我建议阅读他们的write-up以了解rowan
。另一个很好的介绍是Luna Razzaghipour的教程。
具体来说,架构是为了无损解析和良好的错误恢复。这意味着即使源文件有错误,也可以从解析树完美地重建原始源文件。注释、空格和解析错误都明确包含在解析树中。
依赖关系
~4MB
~46K SLoC