[![Build Status][build_img]][ci]
About
=====
Bare essentials for building abstract syntax trees (AST) and Python
`lex`-`yacc` ([PLY](https://github.com/dabeaz/ply)) parsers.
The package includes:
- two classes for tree nodes: `Terminal`, `Operator`
- a `Lexer` and `Parser` class, and a helper function to erase and
rewrite the table files.
The examples under `examples/` demonstrate how to use these classes to create
a richer AST, a parser, and different backends that use the same parser.
These classes provide the boilerplate for parsing with PLY, and are based on
code that was developed in [`tulip`](
https://github.com/tulip-control/tulip-control)
and [`promela`](https://github.com/johnyf/promela).
License
=======
[BSD-3](https://opensource.org/licenses/BSD-3-Clause), see file `LICENSE`.
[build_img]: https://github.com/johnyf/astutils/actions/workflows/main.yml/badge.svg?branch=main
[ci]: https://github.com/johnyf/astutils/actions
Raw data
{
"_id": null,
"home_page": "https://github.com/johnyf/astutils",
"name": "astutils",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "lexing, parsing, syntax tree, abstract syntax tree, AST, PLY, lex, yacc",
"author": "Ioannis Filippidis",
"author_email": "jfilippidis@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/88/d9/86e4053d44baa2b648596a443e2bcf5b8e1d30a9669b14bfacc5307fbc2f/astutils-0.0.6.tar.gz",
"platform": null,
"description": "[![Build Status][build_img]][ci]\n\n\nAbout\n=====\n\nBare essentials for building abstract syntax trees (AST) and Python\n`lex`-`yacc` ([PLY](https://github.com/dabeaz/ply)) parsers.\nThe package includes:\n\n- two classes for tree nodes: `Terminal`, `Operator`\n- a `Lexer` and `Parser` class, and a helper function to erase and\n rewrite the table files.\n\nThe examples under `examples/` demonstrate how to use these classes to create\na richer AST, a parser, and different backends that use the same parser.\n\nThese classes provide the boilerplate for parsing with PLY, and are based on\ncode that was developed in [`tulip`](\n https://github.com/tulip-control/tulip-control)\nand [`promela`](https://github.com/johnyf/promela).\n\n\nLicense\n=======\n[BSD-3](https://opensource.org/licenses/BSD-3-Clause), see file `LICENSE`.\n\n\n[build_img]: https://github.com/johnyf/astutils/actions/workflows/main.yml/badge.svg?branch=main\n[ci]: https://github.com/johnyf/astutils/actions\n",
"bugtrack_url": null,
"license": "BSD",
"summary": "Utilities for abstract syntax trees and parsing with PLY.",
"version": "0.0.6",
"project_urls": {
"Homepage": "https://github.com/johnyf/astutils"
},
"split_keywords": [
"lexing",
" parsing",
" syntax tree",
" abstract syntax tree",
" ast",
" ply",
" lex",
" yacc"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "88d986e4053d44baa2b648596a443e2bcf5b8e1d30a9669b14bfacc5307fbc2f",
"md5": "7ed4f168d974a51de1063ebcbef3622c",
"sha256": "e9a6f31b243ecfc3c7c84dd2f145cf5de83e475b650d2a6b781cfa713ad15427"
},
"downloads": -1,
"filename": "astutils-0.0.6.tar.gz",
"has_sig": false,
"md5_digest": "7ed4f168d974a51de1063ebcbef3622c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 9333,
"upload_time": "2024-04-15T17:25:19",
"upload_time_iso_8601": "2024-04-15T17:25:19.294912Z",
"url": "https://files.pythonhosted.org/packages/88/d9/86e4053d44baa2b648596a443e2bcf5b8e1d30a9669b14bfacc5307fbc2f/astutils-0.0.6.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-04-15 17:25:19",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "johnyf",
"github_project": "astutils",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "astutils"
}