Skip to main content

An Earley-Algorithm Context-free grammar Parser Toolkit

Project description

|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
--------

* features_
* http://pages.cpsc.ucalgary.ca/~aycock/spark/ (Old and not very well maintained)
* https://pypi.python.org/pypi/uncompyle6/

.. _features: https://github.com/rocky/python-spark/blob/master/NEW-FEATURES.rst
.. _directory: https://github.com/rocky/python-spark/tree/master/example
.. _uncompyle6: https://pypi.python.org/pypi/uncompyle6/
.. |downloads| image:: https://img.shields.io/pypi/dd/spark.svg
.. |Supported Python Versions| image:: https://img.shields.io/pypi/pyversions/spark_parser.svg

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.7.1.tar.gz (91.0 kB view details)

Uploaded Source

Built Distributions

spark_parser-1.7.1-py3.6.egg (33.2 kB view details)

Uploaded Egg

spark_parser-1.7.1-py3.5.egg (33.8 kB view details)

Uploaded Egg

spark_parser-1.7.1-py3.4.egg (34.0 kB view details)

Uploaded Egg

spark_parser-1.7.1-py3.3.egg (34.5 kB view details)

Uploaded Egg

spark_parser-1.7.1-py3-none-any.whl (17.7 kB view details)

Uploaded Python 3

spark_parser-1.7.1-py2.7.egg (33.2 kB view details)

Uploaded Egg

spark_parser-1.7.1-py2.6.egg (33.4 kB view details)

Uploaded Egg

spark_parser-1.7.1-py2.5.egg (33.6 kB view details)

Uploaded Egg

spark_parser-1.7.1-py2.4.egg (34.2 kB view details)

Uploaded Egg

File details

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

File metadata

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

File hashes

Hashes for spark_parser-1.7.1.tar.gz
Algorithm Hash digest
SHA256 1a30ab0087a02c8adfbcbe6a1865d84c5fc10e7cca65891e52af7f2fe7ee670b
MD5 d5b2a2decb1353521b93e078d11eeaaa
BLAKE2b-256 f7258fafab3549b6eeab73dd0d5f94a046e55ee31c258d0fce6105bc28b83467

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for spark_parser-1.7.1-py3.6.egg
Algorithm Hash digest
SHA256 2c0b7d468872acce4e5d9afc8963c7e41343ff934ce52d0169987a8a2b693040
MD5 bde18493d36ed3cc5135e016399c18a7
BLAKE2b-256 5b9027bc572afb17108289f0837b74824080e3989df3c60fa7601df88f15666e

See more details on using hashes here.

File details

Details for the file spark_parser-1.7.1-py3.5.egg.

File metadata

File hashes

Hashes for spark_parser-1.7.1-py3.5.egg
Algorithm Hash digest
SHA256 e396210fefb3d1797efbf13d76883973158e049398528919e94eec345927a848
MD5 c644a18b72df8a5d3c00bea41c791a3d
BLAKE2b-256 b60b3bddfa4c196e5c05c0ce437be6113c509266752d8f2cfe5c03ab2193062b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for spark_parser-1.7.1-py3.4.egg
Algorithm Hash digest
SHA256 d2f80f2786b9b50d65e2a4ee7c0f3553cbbea95ffbdbbd6f1c6c3d0e93e13bd8
MD5 910a6e80d44437971bfbc3303e226166
BLAKE2b-256 de29b141be1342fefe9f0fc8e868442f243b54b14f0977089cb6b373e6d9090b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for spark_parser-1.7.1-py3.3.egg
Algorithm Hash digest
SHA256 49c4e01f61f78ff177a5bdc6b79ebaa655feb376a9d2b6e0dcea2b8adb815838
MD5 5e8f5155082e0c53def5e6485a3534eb
BLAKE2b-256 7f36f49fec9725352fff29de17836c39287dd7d6679c599e50ba8f70ac6a589d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for spark_parser-1.7.1-py3-none-any.whl
Algorithm Hash digest
SHA256 22dc5f8333c223f8e188aeecb7ab928754aee7cd4e5addaf7d64cb8a1512db48
MD5 72fd02bab1da78802cd75ea9c4a7f8c1
BLAKE2b-256 d8714ef451abdba890c0cbe1a61e594bfb4e775c822f5fcddf6d7426d3662432

See more details on using hashes here.

File details

Details for the file spark_parser-1.7.1-py2.7.egg.

File metadata

File hashes

Hashes for spark_parser-1.7.1-py2.7.egg
Algorithm Hash digest
SHA256 1e80ae47aadf8f7e2942b4d04e9ec62feaa6cef85c1f5985120f4a45d58180de
MD5 183a93e85177f9b59965ee065c8852a9
BLAKE2b-256 759c07c78c7904c18ec245d1e3b00fad3682b22af7b719db38f4c191201b1503

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for spark_parser-1.7.1-py2.6.egg
Algorithm Hash digest
SHA256 ba0e7eed1fe948270193d510046c7ed176a6c28badbf57b256872889df366e2b
MD5 3d3526f8952013d218201663faacae7b
BLAKE2b-256 ea5fabfb8addee8bb0e4fc77f8811cd8532be35e8b397b5e74cdabf70214c199

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for spark_parser-1.7.1-py2.5.egg
Algorithm Hash digest
SHA256 298b38572226e14e6b10c7ab780e1c280c63bd7ab970ddbd71f361679f0a4aa1
MD5 504d31413100bb61a51f4d3ae4bcca87
BLAKE2b-256 a31a1f71640909c78a4e8b4d2c0043e7c8bc9820038a356a6ad3f9d466bd9ea3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for spark_parser-1.7.1-py2.4.egg
Algorithm Hash digest
SHA256 ccbc798a6026db4a8746f49e62e70186c03d8a7ce4e5e2f4dcdf1e30f1452278
MD5 281af3e36b822f0719639ae9f064853b
BLAKE2b-256 c2f5f56af54c5fdb61ab844cffd78f527a5281ffe4affaed5b68ae2ab77a0d9b

See more details on using hashes here.

Supported by

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