Skip to main content

Utilities for abstract syntax trees and parsing with PLY.

Project description

[![Build Status][build_img]][travis] [![Coverage Status][coverage]][coveralls]

About

Bare essentials for building abstract syntax trees (AST) and Python lex-yacc ([PLY](https://github.com/dabeaz/ply)) parsers. The package includes:

  • two classes for tree nodes: Terminal, Operator

  • a Lexer and Parser class, and a helper function to erase and rewrite the table files.

The examples under examples/ demonstrate how to use these classes to create a richer AST, a parser, and different backends that use the same parser.

These classes provide the boilerplate for parsing with PLY, and are based on code that was developed in [tulip](https://github.com/tulip-control/tulip-control) and [promela](https://github.com/johnyf/promela).

License

[BSD-3](http://opensource.org/licenses/BSD-3-Clause), see file LICENSE.

[build_img]: https://travis-ci.org/johnyf/astutils.svg?branch=master [travis]: https://travis-ci.org/johnyf/astutils [coverage]: https://coveralls.io/repos/johnyf/astutils/badge.svg?branch=master [coveralls]: https://coveralls.io/r/johnyf/astutils?branch=master

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

astutils-0.0.2.tar.gz (7.9 kB view hashes)

Uploaded Source

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