very powerful and optional parser framework for python
Project description
EBNFParser
Parse Many, Any, Every 
LR ::= LR 'a' 'b' | LR 'c' | 'd';
Install
Python
pip
pip installl -U EBNFParser
setup
git clone https://github.com/thautwarm/EBNFParser cd EBNFParser/Python python setup.py install
Usage
Command Line Tools
ruiko.
ruiko ./<grammar File> ./<output filename> [--testTk] # print tokenized words or not [--test] # generate test script "test_lang.py"Use command ruiko to generate parser and token files, and then you can use test_lang.py to test your parser.
python ./test_lang.py Stmt " (+ 1 2) " -o test.json --testTkIntegrated into your own project
from Ruikowa.ObjectRegex.ASTDef import Ast from Ruikowa.ErrorHandler import ErrorHandler from Ruikowa.ObjectRegex.MetaInfo import MetaInfo from Ruikowa.ObjectRegex.Tokenizer import Tokenizer from <your own generated parser module> import <top parser>, token_table import typing as t def token_func(src_code: str) -> t.Iterable[Tokenizer]: return Tokenizer.from_raw_strings(src_code, token_table, ({<the names of tokenizers you would ignore>}, {<the string contents of tokenizers you would ignore>})) parser = ErrorHandler(<top parser>.match, token_func) def parse(filename: str) -> Ast: return parser.from_file(filename) print(parse(<filename of your dsl source code>))
Need more? See the documents.
Examples
Here are some examples to refer:
EBNFParser 2.0
Rem The Rem programming language.
Old version(Before EBNFParser 1.1).
- A DSL for SQL development in Python areas.
- A full featured modern language to enhance program readability based on CPython.
- An attempt to making ASDL in CPython(unfinished yet)
Will support F# and Rem.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file EBNFParser-2.1.3-py3-none-any.whl.
File metadata
- Download URL: EBNFParser-2.1.3-py3-none-any.whl
- Upload date:
- Size: 26.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a9c41cbfba10aec2f1f11a529d3e17c0a039f3a272b7cda18ba3d1a0a51491aa
|
|
| MD5 |
24a7a3b76261b7ca49269356789619d4
|
|
| BLAKE2b-256 |
5a9bb874430f35575908b3ea93a85bf59b23939e74bcb97e6e509106cc3e49da
|