9 个版本 (稳定)
1.2.7 | 2024 年 6 月 12 日 |
---|---|
1.2.6 | 2024 年 5 月 26 日 |
1.2.4 | 2024 年 4 月 30 日 |
0.0.3 | 2021 年 8 月 13 日 |
0.0.2 | 2021 年 6 月 16 日 |
#2016 in 魔法豆
2.5MB
66K SLoC
🌴 tree-sitter-solidity
💡 此语法仍在开发中,生成的 AST 结构尚不稳定
此仓库包含 tree-sitter 的语法。
本项目目标是提供一个针对 Solidity 的低依赖性、高效的解析器,该解析器针对大多数使用的 Solidity 版本,并旨在支持元编程。
浏览此仓库
此仓库的主要文件是 grammar.js
,它描述了 tree-sitter 语法。
# Primary file:
grammar.js
# Tests:
/test/**/*
# Auto generated:
/src/**/*
index.js
binding.gyp
参考资料
-> 以太坊 Solidity 语法
- https://github.com/ethereum/solidity/blob/develop/docs/grammar/SolidityParser.g4
- https://github.com/ethereum/solidity/blob/develop/docs/grammar/SolidityLexer.g4
- https://docs.soliditylang.cn/en/latest/grammar.html?#
-> Tree-sitter JavaScript 语法: https://github.com/tree-sitter/tree-sitter-javascript/blob/master/grammar.js
-> Solidity antlr 语法: https://github.com/ConsenSys/solidity-parser-antlr
本项目的主要灵感及一些结构来自 tree-sitter-javascript,感谢此仓库的贡献者!
依赖
~2.7–4MB
~71K SLoC