ebnf tools
A collection of tools to work with ebnf grammars, like conversion between different formats, railroad generation and random example generation.
Getting Started
Prerequisites
Requires python3.9 or higher.
Other requirements like lark and railroad-diagrams should be installed automatically by pip
Installing
pip install ebnf
If you want to use one of the extra utils with extra requirements, use the ebnf[<extra>] syntax:
- railroad diagram generation:
pip install ebnf[railroad]
Tools
The 'base' ebnf dialect for this package the one used by the lark package. All features should work for it, but might not work for others.
ebnf.railroad - railroad diagram generation
Generates a html file containing svg for each rule/terminal in the input grammar. Can take a lot of different options, check the help for more info
ebnf.convert - dialect translation (TODO)
Attempts to convert between different dialects, with the focus being generation lark compatible output
ebnf.example - generates an example for a grammar (TODO)
Versioning
We use SemVer for versioning. For the versions available, see the tags on this repository.
Authors
- MegaIng - Initial work
See also the list of contributors who participated in this project.
License
This project is licensed under the MIT License - see the LICENSE file for details
Release files for ebnf 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ebnf-0.1.0.tar.gz | 9.1 kB | Details |
Release files / ebnf-0.1.0.tar.gz
| Download URL | ebnf-0.1.0.tar.gz |
|---|---|
| Size | 9.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0578783c4e8f34db931e831b4166dc306f92989fb77df9212606e8a07006a9a0
|
|
BLAKE2b-256 checksum How to use checksums |
7c82ae8cd0371c184fc1cfed7f12330fe72d76b07e4fad0717af945ce8f014be
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.0
|