openzeppelin-solidity-grammar-parser


Nameopenzeppelin-solidity-grammar-parser JSON
Version 0.0.3 PyPI version JSON
download
home_page
SummarySolidity ANTLR4 grammar Python parser
upload_time2024-02-05 12:12:14
maintainer
docs_urlNone
author
requires_python>=3.10
license
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            [![Lint and test + coverage](https://github.com/OpenZeppelin/sgp/actions/workflows/lint-and-test.yml/badge.svg?branch=main)](https://github.com/OpenZeppelin/sgp/actions/workflows/lint-and-test.yml) [![ANTLR4 test](https://github.com/OpenZeppelin/sgp/actions/workflows/antlr4-test.yml/badge.svg)](https://github.com/OpenZeppelin/sgp/actions/workflows/antlr4-test.yml)

# Solidity Grammar Parser

**SGP** - is a `Python` package that allows to build an [AST](https://en.wikipedia.org/wiki/Abstract_syntax_tree) for a given [Solidity](https://solidity.readthedocs.io/)  source code.

## Kudos

- The original grammar [Solidity.g4](./Solidity.g4) was developed and maintained by [solidity-parser-antlr](https://github.com/solidity-parser/antlr).
- The node types system and AST visitor are based on [solidity-parser-parser](https://github.com/solidity-parser/parser).

## Build

Run [build.sh](./build.sh) that does the following:
- checks if `Python` is installed and downloads it if not
  - including `pip`
  - including `antlr4-python3-runtime` package
- checks if `Java` is installed and downloads it if not
  - including `jre`
  - including `jdk`
- checks if `antlr4.jar` is downloaded and downloads it if not
- runs the ANTLR jar file and compiles the [Solidity.g4](./Solidity.g4) file.

The output result can be found in the [./out](./out) directory

## Tests

Run:
- `python -m coverage run -m unittest discover -v && python -m coverage report` for the `Python` tests
- [run-tests.sh](./test/test_parsing/run-tests.sh) to execute `antlr4` parse testing

## License

[MIT](./LICENSE)

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "openzeppelin-solidity-grammar-parser",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": "",
    "keywords": "",
    "author": "",
    "author_email": "Georgii Plotnikov <accembler@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/d0/0a/cfdaf9552dc65f9e5fb45cdc61dc4f42780d22091384ecb8d1b5be101d23/openzeppelin-solidity-grammar-parser-0.0.3.tar.gz",
    "platform": null,
    "description": "[![Lint and test + coverage](https://github.com/OpenZeppelin/sgp/actions/workflows/lint-and-test.yml/badge.svg?branch=main)](https://github.com/OpenZeppelin/sgp/actions/workflows/lint-and-test.yml) [![ANTLR4 test](https://github.com/OpenZeppelin/sgp/actions/workflows/antlr4-test.yml/badge.svg)](https://github.com/OpenZeppelin/sgp/actions/workflows/antlr4-test.yml)\n\n# Solidity Grammar Parser\n\n**SGP** - is a `Python` package that allows to build an [AST](https://en.wikipedia.org/wiki/Abstract_syntax_tree) for a given [Solidity](https://solidity.readthedocs.io/)  source code.\n\n## Kudos\n\n- The original grammar [Solidity.g4](./Solidity.g4) was developed and maintained by [solidity-parser-antlr](https://github.com/solidity-parser/antlr).\n- The node types system and AST visitor are based on [solidity-parser-parser](https://github.com/solidity-parser/parser).\n\n## Build\n\nRun [build.sh](./build.sh) that does the following:\n- checks if `Python` is installed and downloads it if not\n  - including `pip`\n  - including `antlr4-python3-runtime` package\n- checks if `Java` is installed and downloads it if not\n  - including `jre`\n  - including `jdk`\n- checks if `antlr4.jar` is downloaded and downloads it if not\n- runs the ANTLR jar file and compiles the [Solidity.g4](./Solidity.g4) file.\n\nThe output result can be found in the [./out](./out) directory\n\n## Tests\n\nRun:\n- `python -m coverage run -m unittest discover -v && python -m coverage report` for the `Python` tests\n- [run-tests.sh](./test/test_parsing/run-tests.sh) to execute `antlr4` parse testing\n\n## License\n\n[MIT](./LICENSE)\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "Solidity ANTLR4 grammar Python parser",
    "version": "0.0.3",
    "project_urls": {
        "Bug Tracker": "https://github.com/OpenZeppelin/sgp/issues",
        "Homepage": "https://github.com/OpenZeppelin/sgp"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "96685cbf129df5820963e6edc607085a272deba87d90091a542788270bbc15a2",
                "md5": "a56aac3c6b19c99b7e1b8c470fda1d2b",
                "sha256": "5f5a4e73a2e3e074b972c862b40dc2587645f5bcc8e80f25d629c794bfdc4530"
            },
            "downloads": -1,
            "filename": "openzeppelin_solidity_grammar_parser-0.0.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "a56aac3c6b19c99b7e1b8c470fda1d2b",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 70346,
            "upload_time": "2024-02-05T12:12:10",
            "upload_time_iso_8601": "2024-02-05T12:12:10.066916Z",
            "url": "https://files.pythonhosted.org/packages/96/68/5cbf129df5820963e6edc607085a272deba87d90091a542788270bbc15a2/openzeppelin_solidity_grammar_parser-0.0.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d00acfdaf9552dc65f9e5fb45cdc61dc4f42780d22091384ecb8d1b5be101d23",
                "md5": "ba1ac396f997b8799146dc08e6004a34",
                "sha256": "1db2d507ea5f884d506e76514fcdfca51b87463b9c64e842b7a83cd49d801f87"
            },
            "downloads": -1,
            "filename": "openzeppelin-solidity-grammar-parser-0.0.3.tar.gz",
            "has_sig": false,
            "md5_digest": "ba1ac396f997b8799146dc08e6004a34",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 67620,
            "upload_time": "2024-02-05T12:12:14",
            "upload_time_iso_8601": "2024-02-05T12:12:14.013619Z",
            "url": "https://files.pythonhosted.org/packages/d0/0a/cfdaf9552dc65f9e5fb45cdc61dc4f42780d22091384ecb8d1b5be101d23/openzeppelin-solidity-grammar-parser-0.0.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-02-05 12:12:14",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "OpenZeppelin",
    "github_project": "sgp",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "lcname": "openzeppelin-solidity-grammar-parser"
}
        
Elapsed time: 0.25459s