Skip to main content

A Parse Toolkit. Create well documented grammars.

Project description

aptk - A Parse Toolkit
======================

This is a module for creating parsers from grammars. aPTK targets to make
this in a very "documented" way. So you can define the grammar in doc-string
of your grammar class or even in your reStructuredText documentation.

.. highlight:: aptk

A simple example of a greeting parser::

:grammar GreetingGrammar

<greeting> := <greeting-clause> <.ws> <greeted>
<ws> := \s+
<greeting-clause> := "hello" | "hi"
<greeted> := \w+

This will create a class named `GreetingGrammar`. First rule in the
grammar will be used as start-rule for a normal parsing. Parsing a
rule, will result in a ParseTree. Here follows an example of rule
``<greeting>`` matching "hello world"::

<greeting> ~~ "hello world"
-> greeting(
greeting-clause( 'hello' ),
greeted( 'world' )
)

Actually what you see above is a test assertion for applying rule greeting
to string "hello world", what is expected to result in the parse-tree
displayed above.

But read more in `aptk's documentation`_.

.. _aptk's documentation: http://aptk.readthedocs.org

Download
--------

You can download this package from PyPI_.

.. _PyPI:: http://pypi.python.org/pypi/aptk#downloads

.. highlight:: bash

Or install it with easy_install::

easy_install -U aptk

or get the the source from source code repository from bitbucket.org::

$ hg clone https://bitbucket.org/klorenz/aptk


Building Documentation
----------------------

For building documentation you need sphinx, you can get it using::

$ easy_install -U Sphinx

Then you can::

$ cd docs
$ make html
$ firefox _build/html/index.html


License
-------

Licensed under New BSD License, see LICENSE.txt.


Release Notes
-------------

======= =================================================================
Version Notes
======= =================================================================
0.5.3 Added operation precedence parser. Pretty simple yet, but supports
infix, postfix, prefix, circumfix operations. postcircumfix is
also implemented but not tested at all others are partly tested.

0.5 Starting with version 0.5, which shall indicate, that there is
still a lot to do.

Especially documentation is far from complete and it contains
some passages, which are already outdated.

Next releases will focus on documentation and testing and adding
an operator precendence parser.

======= =================================================================

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

aptk-0.5.3.zip (51.2 kB view details)

Uploaded Source

aptk-0.5.3.tar.gz (42.5 kB view details)

Uploaded Source

Built Distribution

aptk-0.5.3.linux-i686.exe (95.9 kB view details)

Uploaded Source

File details

Details for the file aptk-0.5.3.zip.

File metadata

  • Download URL: aptk-0.5.3.zip
  • Upload date:
  • Size: 51.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for aptk-0.5.3.zip
Algorithm Hash digest
SHA256 b74ee793284e071e602cf627bb4d96f3dd403dc359acb000b9e1e6030bdc2d9d
MD5 ca080347c6f73087e548f7ba98470421
BLAKE2b-256 8cd4e3f860de3ecd366fa34ac2807baeb67d541dfbd97362e70af6006058f5db

See more details on using hashes here.

File details

Details for the file aptk-0.5.3.tar.gz.

File metadata

  • Download URL: aptk-0.5.3.tar.gz
  • Upload date:
  • Size: 42.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for aptk-0.5.3.tar.gz
Algorithm Hash digest
SHA256 2cf24068fcf1c57aa8b7ffbf0a216d02d309a0563153e0fb149b11a6cef0248c
MD5 9e5c0553b86ca41a00d9e7421e4ddafe
BLAKE2b-256 dd0652220d128990dfb6f51f31a5a3beb09753d8bc7f5ad6fffeb9316331f62b

See more details on using hashes here.

File details

Details for the file aptk-0.5.3.linux-i686.exe.

File metadata

File hashes

Hashes for aptk-0.5.3.linux-i686.exe
Algorithm Hash digest
SHA256 12d4fc4b9ca2840a067b6874b21f4c5302e925996b5932c14f4bde24a4fc5e44
MD5 b769e2d04247f16d8ecbee595c763b83
BLAKE2b-256 64a9473ffa07628282b84aa7fb7b6af846c5cc97684b9b8188b1c75f73419159

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