Skip to main content

A copy of the ASDL parser used in CPython 3.5.

Project description

https://travis-ci.org/fpoli/python-asdl.svg?branch=master

A copy of the ASDL parser used in CPython 3.5, cleaned a bit and packaged here.

Installation

$ pip install asdl

Usage

from asdl import ASDLParser, parse

syntax = """
    module Lambda {
        term =
            Lambda(name x, term body) |
            Apply(term function, term argument) |
            Variable(name x)
    }
"""

print(ASDLParser().parse(syntax))

print(asdl.parse("./test/Python.asdl"))

Output:

Module(Lambda, [Type(term, Sum([Constructor(Lambda, [Field(name, x), Field(term, body)]), Constructor(Apply, [Field(term, function), Field(term, argument)]), Constructor(Variable, [Field(name, x)])]))])

Module(Python, [Type(mod, Sum([Constructor(Module, [Field(stmt, body, seq=True)]), Constructor(Interactive, [Field(stmt, body, seq=True)]), Constructor(Expression, [Field(expr, body)]), Constructor(Suite, [Field(stmt, body, seq=True)])])), Type(stmt, Sum([Constructor(FunctionDef, [Field(identifier, name), Field(arguments, args), Field(stmt, body, seq=True), Field(expr, decorator_list, seq=True), Field(expr, returns, opt=True)]), …

License

Same as CPython: Python Software Foundation License (LICENSE file included here).

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

asdl-0.1.5.tar.gz (10.5 kB view details)

Uploaded Source

Built Distribution

asdl-0.1.5-py2-none-any.whl (7.2 kB view details)

Uploaded Python 2

File details

Details for the file asdl-0.1.5.tar.gz.

File metadata

  • Download URL: asdl-0.1.5.tar.gz
  • Upload date:
  • Size: 10.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for asdl-0.1.5.tar.gz
Algorithm Hash digest
SHA256 33fb0cd20fd08210fb98995b306bf098e4d17fc0b5e59f754c517c4cb0245d9d
MD5 2c2fa3ba78ddfaa9e46c942f0a462d03
BLAKE2b-256 765dc8db2502e56ba60ccab83f60d19dffa418dd0a289dfd6e00a402864ef2b3

See more details on using hashes here.

File details

Details for the file asdl-0.1.5-py2-none-any.whl.

File metadata

File hashes

Hashes for asdl-0.1.5-py2-none-any.whl
Algorithm Hash digest
SHA256 852b3821907183ac10ad1b977006c3438f621c52b3790ea3c3ba6c742a2a62f4
MD5 4dc5f515bcb308f6306c5ba79eb8789e
BLAKE2b-256 1387130fa7c32a710955c8713858ac207eb33139554a2f4b9856f641f8a61f54

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