Skip to main content
|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

Release files for spark-parser 1.7.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for spark-parser 1.7.1
File Size Uploaded
spark_parser-1.7.1.tar.gz 91.0 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for spark-parser 1.7.1
File
spark_parser-1.7.1-py3.6.egg Legacy Egg format - - Details
spark_parser-1.7.1-py3.5.egg Legacy Egg format - - Details
spark_parser-1.7.1-py3.4.egg Legacy Egg format - - Details
spark_parser-1.7.1-py3.3.egg Legacy Egg format - - Details
spark_parser-1.7.1-py3-none-any.whl Python 3 none any Details
spark_parser-1.7.1-py2.7.egg Legacy Egg format - - Details
spark_parser-1.7.1-py2.6.egg Legacy Egg format - - Details
spark_parser-1.7.1-py2.5.egg Legacy Egg format - - Details
spark_parser-1.7.1-py2.4.egg Legacy Egg format - - Details

Total release size: 378.6 kB

Release files / spark_parser-1.7.1.tar.gz

Download URL spark_parser-1.7.1.tar.gz
Size 91.0 kB
Tags Source
SHA-256 checksum
How to use checksums
1a30ab0087a02c8adfbcbe6a1865d84c5fc10e7cca65891e52af7f2fe7ee670b
BLAKE2b-256 checksum
How to use checksums
f7258fafab3549b6eeab73dd0d5f94a046e55ee31c258d0fce6105bc28b83467
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / spark_parser-1.7.1-py3.6.egg

Download URL spark_parser-1.7.1-py3.6.egg
Size 33.2 kB
Tags Egg
SHA-256 checksum
How to use checksums
2c0b7d468872acce4e5d9afc8963c7e41343ff934ce52d0169987a8a2b693040
BLAKE2b-256 checksum
How to use checksums
5b9027bc572afb17108289f0837b74824080e3989df3c60fa7601df88f15666e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / spark_parser-1.7.1-py3.5.egg

Download URL spark_parser-1.7.1-py3.5.egg
Size 33.8 kB
Tags Egg
SHA-256 checksum
How to use checksums
e396210fefb3d1797efbf13d76883973158e049398528919e94eec345927a848
BLAKE2b-256 checksum
How to use checksums
b60b3bddfa4c196e5c05c0ce437be6113c509266752d8f2cfe5c03ab2193062b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / spark_parser-1.7.1-py3.4.egg

Download URL spark_parser-1.7.1-py3.4.egg
Size 34.0 kB
Tags Egg
SHA-256 checksum
How to use checksums
d2f80f2786b9b50d65e2a4ee7c0f3553cbbea95ffbdbbd6f1c6c3d0e93e13bd8
BLAKE2b-256 checksum
How to use checksums
de29b141be1342fefe9f0fc8e868442f243b54b14f0977089cb6b373e6d9090b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / spark_parser-1.7.1-py3.3.egg

Download URL spark_parser-1.7.1-py3.3.egg
Size 34.5 kB
Tags Egg
SHA-256 checksum
How to use checksums
49c4e01f61f78ff177a5bdc6b79ebaa655feb376a9d2b6e0dcea2b8adb815838
BLAKE2b-256 checksum
How to use checksums
7f36f49fec9725352fff29de17836c39287dd7d6679c599e50ba8f70ac6a589d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / spark_parser-1.7.1-py3-none-any.whl

Download URL spark_parser-1.7.1-py3-none-any.whl
Size 17.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
22dc5f8333c223f8e188aeecb7ab928754aee7cd4e5addaf7d64cb8a1512db48
BLAKE2b-256 checksum
How to use checksums
d8714ef451abdba890c0cbe1a61e594bfb4e775c822f5fcddf6d7426d3662432
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / spark_parser-1.7.1-py2.7.egg

Download URL spark_parser-1.7.1-py2.7.egg
Size 33.2 kB
Tags Egg
SHA-256 checksum
How to use checksums
1e80ae47aadf8f7e2942b4d04e9ec62feaa6cef85c1f5985120f4a45d58180de
BLAKE2b-256 checksum
How to use checksums
759c07c78c7904c18ec245d1e3b00fad3682b22af7b719db38f4c191201b1503
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / spark_parser-1.7.1-py2.6.egg

Download URL spark_parser-1.7.1-py2.6.egg
Size 33.4 kB
Tags Egg
SHA-256 checksum
How to use checksums
ba0e7eed1fe948270193d510046c7ed176a6c28badbf57b256872889df366e2b
BLAKE2b-256 checksum
How to use checksums
ea5fabfb8addee8bb0e4fc77f8811cd8532be35e8b397b5e74cdabf70214c199
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / spark_parser-1.7.1-py2.5.egg

Download URL spark_parser-1.7.1-py2.5.egg
Size 33.6 kB
Tags Egg
SHA-256 checksum
How to use checksums
298b38572226e14e6b10c7ab780e1c280c63bd7ab970ddbd71f361679f0a4aa1
BLAKE2b-256 checksum
How to use checksums
a31a1f71640909c78a4e8b4d2c0043e7c8bc9820038a356a6ad3f9d466bd9ea3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / spark_parser-1.7.1-py2.4.egg

Download URL spark_parser-1.7.1-py2.4.egg
Size 34.2 kB
Tags Egg
SHA-256 checksum
How to use checksums
ccbc798a6026db4a8746f49e62e70186c03d8a7ce4e5e2f4dcdf1e30f1452278
BLAKE2b-256 checksum
How to use checksums
c2f5f56af54c5fdb61ab844cffd78f527a5281ffe4affaed5b68ae2ab77a0d9b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

1.9.0

6 release files

1.8.9

7 release files

1.8.8

3 release files

1.8.7

9 release files

1.8.6

10 release files

1.8.5

12 release files

1.8.4

9 release files

1.8.3

9 release files

1.8.2

9 release files

1.8.1

9 release files

1.8.0

9 release files

1.7.2

9 release files

This release

1.7.1 This release

10 release files

1.7.0

10 release files

1.6.1

9 release files

1.5.2

11 release files

1.5.1

11 release files

1.5.0

11 release files

1.4.3

12 release files

1.4.2

10 release files

1.4.0

5 release files

1.3.0

6 release files

1.2.1

6 release files

1.1.1

6 release files

1.1.0

6 release files

1.0.2

6 release files

1.0.1

6 release files

1.0.0

5 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page