{"repo":"JoranHonig/tree-sitter-solidity","free":true,"listed":false,"github":"https://github.com/JoranHonig/tree-sitter-solidity","clone":"git clone https://github.com/JoranHonig/tree-sitter-solidity.git","description":"Solidity grammar for tree sitter","language":"Python","stars":186,"topics":["solidity","tree-sitter","smart-contracts","grammar","parser","hacktoberfest"],"license":"MIT","category":"blockchain-web3","readme_excerpt":"🌴 tree-sitter-solidity 💡 this grammar is still in development, the structure of the generated AST is not stable This repository contains a grammar for tree-sitter. The goal of this project is to provide an parser efficient low-dependency parser for solidity which targets most solidity versions in use and is designed for enabling metaprogramming. Navigating this repository The primary file in this repository is grammar.js which describes the tree-sitter grammar. References - Ethereum solidity grammar: - 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.org/en/latest/grammar.html?# - Tree-sitter javascript grammar: https://github.com/tree-sitter/tree-sitter-javascript/blob/master/grammar.js - Solidity antlr grammar: https://github.com/ConsenSys/solidity-parser-antlr Major inspriration & some structures have been taken from tree-sitter-javascript, a big thanks to the contributors to this repo!","default_branch":null,"files":null,"tree":[],"storefront":"/r/JoranHonig","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/JoranHonig/tree-sitter-solidity/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}