A copy of the ASDL parser used in CPython 3.5.
Project description
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, ...
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.4.tar.gz
(10.4 kB
view hashes)
Built Distribution
asdl-0.1.4-py2-none-any.whl
(7.1 kB
view hashes)