Skip to main content

An Earley-Algorithm Context-free grammar Parser Toolkit

Project description

buildstatus Supported Python Versions

SPARK - An Earley Algorithm Parser toolkit.

SPARK stands for Scanning, Parsing, and Rewriting Kit. It uses Jay Earley’s algorithm for parsing context free grammars, and comes with some generic Abstract Syntax Tree routines. There is also a prototype scanner which does its job by combining Python regular expressions.

The original version of this was written by John Aycock for his Ph.d thesis and was described in his 1998 paper: “Compiling Little Languages in Python” at the 7th International Python Conference. The current incarnation of this code is maintained (or not) by Rocky Bernstein.

Note: Earley algorithm parsers are almost linear when given an LR grammar. These are grammars which are left-recursive.

Installation

This uses setup.py, so it follows the standard Python routine:

python setup.py install # may need sudo
# or if you have pyenv:
python setup.py develop

Example

The github example directory has a worked-out examples; Package uncompyle6 uses this and contains a much larger example.

See Also

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

spark_parser-1.8.5.tar.gz (124.0 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

spark_parser-1.8.5-py36-none-any.whl (18.4 kB view details)

Uploaded Python 3.6

spark_parser-1.8.5-py35-none-any.whl (18.4 kB view details)

Uploaded Python 3.5

spark_parser-1.8.5-py34-none-any.whl (18.4 kB view details)

Uploaded Python 3.4

spark_parser-1.8.5-py3.6.egg (34.6 kB view details)

Uploaded Egg

spark_parser-1.8.5-py3.4.egg (35.5 kB view details)

Uploaded Egg

spark_parser-1.8.5-py3.3.egg (35.9 kB view details)

Uploaded Egg

spark_parser-1.8.5-py3-none-any.whl (18.4 kB view details)

Uploaded Python 3

spark_parser-1.8.5-py2.6.egg (34.8 kB view details)

Uploaded Egg

spark_parser-1.8.5-py2.5.egg (34.9 kB view details)

Uploaded Egg

spark_parser-1.8.5-py2.4.egg (35.5 kB view details)

Uploaded Egg

spark_parser-1.8.5-py2-none-any.whl (18.4 kB view details)

Uploaded Python 2

File details

Details for the file spark_parser-1.8.5.tar.gz.

File metadata

  • Download URL: spark_parser-1.8.5.tar.gz
  • Upload date:
  • Size: 124.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for spark_parser-1.8.5.tar.gz
Algorithm Hash digest
SHA256 a4979485fa846079843f1fd9147c80391ea5f06d615dd8b488fc7b93c56d3b98
MD5 70460595097f6d91a7da2530936b8ce7
BLAKE2b-256 6eb1a12b81344a9a0c687675a818b187f406633d918869c497db33b7e3f6ef48

See more details on using hashes here.

File details

Details for the file spark_parser-1.8.5-py36-none-any.whl.

File metadata

File hashes

Hashes for spark_parser-1.8.5-py36-none-any.whl
Algorithm Hash digest
SHA256 cd56fc47dd334ed417eed4c3f9f964994b5b1711eb90ad5ea770a97f145d8c47
MD5 6ddc0bd3b40f5aaea6f79786e53cc84a
BLAKE2b-256 60677b7ed68b4b75d8940faa8d62f48d9c9a6c1b29d252ec67edf287b6e462a6

See more details on using hashes here.

File details

Details for the file spark_parser-1.8.5-py35-none-any.whl.

File metadata

File hashes

Hashes for spark_parser-1.8.5-py35-none-any.whl
Algorithm Hash digest
SHA256 5c50d380bacbd4457fd1cdd2eaaa67822383506e5a26aa0105a78c3d2d1de9f7
MD5 94db348b73a5ea0b682b7cf0b78f11ca
BLAKE2b-256 1cc5b7f28c5411a6129c4669b8b45bfd9d3c91ae7821640bf0c6e40ecb089100

See more details on using hashes here.

File details

Details for the file spark_parser-1.8.5-py34-none-any.whl.

File metadata

File hashes

Hashes for spark_parser-1.8.5-py34-none-any.whl
Algorithm Hash digest
SHA256 0783d8d700cc05390dafe2f5399505b226d5d23353e4bb4eb6127fa17c475cd5
MD5 90d51780c2c2879ea48fb633702c6e12
BLAKE2b-256 197a54984d37bd9c1098358ddb65c9670475d3edc476ba44f576eb0fe08cf1a5

See more details on using hashes here.

File details

Details for the file spark_parser-1.8.5-py3.6.egg.

File metadata

File hashes

Hashes for spark_parser-1.8.5-py3.6.egg
Algorithm Hash digest
SHA256 9fbccb6eccc044b56978d940e4442d9f2f4e49cfeb68b426464c9282e6c01e14
MD5 784b7b2b25bf0c7f4840000029db5c42
BLAKE2b-256 8f77d8e6462bf66b23d4ca34b44cc530d812c83c64ed124df0f30272d287d1b2

See more details on using hashes here.

File details

Details for the file spark_parser-1.8.5-py3.4.egg.

File metadata

File hashes

Hashes for spark_parser-1.8.5-py3.4.egg
Algorithm Hash digest
SHA256 a33376af3296048dafa385eeba5d5a12a20899ea1131964f9ee6e5b568e1c2f2
MD5 1b3a403095f4e444d60a869c019b517b
BLAKE2b-256 9ef8ba4e15777c6703352435e5602a454c7664b4696ba5f7a185ba7fadd2b6e9

See more details on using hashes here.

File details

Details for the file spark_parser-1.8.5-py3.3.egg.

File metadata

File hashes

Hashes for spark_parser-1.8.5-py3.3.egg
Algorithm Hash digest
SHA256 ee7e66d2b26c2800f3aecf42796c9bb23097cb39864d949ca37048c9a667daeb
MD5 90d013ef9ae4bd7a3e681f79725e5c7a
BLAKE2b-256 55dec6c063cb7c074d4a901e5e0cbca536c3c095eecaf4c70d558974497f54aa

See more details on using hashes here.

File details

Details for the file spark_parser-1.8.5-py3-none-any.whl.

File metadata

File hashes

Hashes for spark_parser-1.8.5-py3-none-any.whl
Algorithm Hash digest
SHA256 af49834ea6af758d7259fde3725b5e073bab0cb258c67984c03f08dc03bab43e
MD5 b389a49efd8b11029c97bbca1fdbdfd1
BLAKE2b-256 723ad39135cd3d3e45640aa379066b15e267378d1b6a9495d98e0f85327d8508

See more details on using hashes here.

File details

Details for the file spark_parser-1.8.5-py2.6.egg.

File metadata

File hashes

Hashes for spark_parser-1.8.5-py2.6.egg
Algorithm Hash digest
SHA256 cb31fb3fd91b29ec5ef8b2d2fb4575374c89c6728b1d43449fb32216b97285c5
MD5 0d1e75e520b37f859b577fcc55953344
BLAKE2b-256 51f958c52793f6eda626ac2807fe9168310175fdf8ba49bfe0cd837acd1beb38

See more details on using hashes here.

File details

Details for the file spark_parser-1.8.5-py2.5.egg.

File metadata

File hashes

Hashes for spark_parser-1.8.5-py2.5.egg
Algorithm Hash digest
SHA256 071b297fd360a24d3c2f587d6d2da911edf24804d763a8666e65393406c98537
MD5 9e23262dcb77812ebfe7a373be0727c7
BLAKE2b-256 ce9c3cd1c9d6900697ca5da0cb4db18df796ec51f0f791b2bd735ea0530d77ad

See more details on using hashes here.

File details

Details for the file spark_parser-1.8.5-py2.4.egg.

File metadata

File hashes

Hashes for spark_parser-1.8.5-py2.4.egg
Algorithm Hash digest
SHA256 81b2ab861a7900c360e5285b0d148686571a3ab07c0bdfe38c3e7a01ae303727
MD5 79eb5a2f030d51012b9e7c2330f99f75
BLAKE2b-256 d3711afd542bdc2c2f9a2edd13ac321348c7534c99029a643ec2bd40472640a6

See more details on using hashes here.

File details

Details for the file spark_parser-1.8.5-py2-none-any.whl.

File metadata

File hashes

Hashes for spark_parser-1.8.5-py2-none-any.whl
Algorithm Hash digest
SHA256 d0fb21d9ba070f27f35a71c0fb5294a21f7174521cb85ffe004b1ef06ffa7593
MD5 e4c65809f1ee99fcdba475019d43e21d
BLAKE2b-256 d83158202ecb2f614eefdba684f16f3d4e18c2c42b1dd0ca73a465976a49ee6e

See more details on using hashes here.

Supported by

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