bootpeg – the bootstrapping PEG parser
Project description
> Some people, when confronted with a problem, think “I know, I’ll use regular expressions.” Now they have two problems.
bootpeg is a PEG parser for creating parsers – including itself. By default, it supports EBNF with actions akin to PEP 617.
# legacy naive PEG parser
$ python3 -m bootpeg.boot
# memoizing bottom-up PEG parser
$ python3 -m bootpeg.pika.boot
Unlike most other Python PEG parsers which are top-down Packrat parsers, bootpeg provides a bottom-up Pika parser: it handles left-recursive grammars natively, allows recovering partial parse results, and runs in linear time for usual inputs.
Do I need a bigger boot?
> Some people, when confronted with a problem, think “I know, I’ll use self-writing parsers.” Now they have problems+.
If you need a battle-hardened, production ready parser suite then pyparsing should be your first choice. If you are the choosy type, make it your second choice as well.
Pick bootpeg when you need safe left-recursion and self-parsing. It will never bite off your left peg via infinite recursion. It will take care of itself and all its grammars to make you happy. bootpeg is the friend you need when you know bootpeg is the friend you need.
Well, eventually it will be; bootpeg is still a cute little puppy. Don’t let it lift too heavy. So far it is only lifting itself.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for bootpeg-0.0.2-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 10ff77d1435bfff17bb86c1db4dd1375416e615537509f9df71bad5af03c724e |
|
MD5 | 89c4b56aea17ac5a2dd6ddad1137a815 |
|
BLAKE2b-256 | 9c8258926d1fbc8eb1aafeab7ae0746e12cbb89feb88e2da9820761842dc11e2 |