Skip to main content

An LR(1) parser hiding behind a pythonic interface

Project description

Lrparsing provides both an LR(1) parser and a tokeniser. It differs from other Python LR(1) parsers in using Python expressions as grammars, and offers simple to use disambiguation tools.

The result is something that is powerful yet concise. For simple tasks this means it can be thought of as an extension to Python’s existing re module, used when regular expressions become too cumbersome. For complex tasks lrparsing offers a high speed parser (very roughly 25us per token from string to parse tree on a desktop CPU), pre-compilation of the grammar and error recovery hooks so parsing can continue after an error is found.

In addition to extensive documentation it comes with a parser for Sqlite3 data manipulation statements and a Lua 5.2 to Python compiler as examples. The documentation can be read online at http://lrparsing.sourceforge.net/doc/html/.

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

lrparsing-1.0.13.tar.gz (380.9 kB view details)

Uploaded Source

File details

Details for the file lrparsing-1.0.13.tar.gz.

File metadata

  • Download URL: lrparsing-1.0.13.tar.gz
  • Upload date:
  • Size: 380.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for lrparsing-1.0.13.tar.gz
Algorithm Hash digest
SHA256 b9f8c9ab886b4a74ac0e2ffe8619d1b6fa11c8808f1a0ac661cf1765de4483c2
MD5 f8c95cb2a16586333fc7a1f8e8b37e31
BLAKE2b-256 e870a588cc2f662899e577331d38ce835656668d41d1539866f1ffe374e6d0e2

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page