pyasdl icon indicating copy to clipboard operation
pyasdl copied to clipboard

ASDL parser

trafficstars

PyASDL

A pure Python implementation of the Zephyr ASDL format.

API

parse(source, *, filename = ...) -> Module

Parse the given source string, and return the AST in the shape of an pyasdl.Module. The full format is defined in the grammar.asdl file. The filename can be optionally supplied, and will be used if any syntax errors found during the parsing process.

fetch_comments(source) -> Iterator[str]

Iterate over all the comments (in the shape of -- comment) in the given ASDL source string.

is_simple_sum(node) -> bool

Check whether if the given node is an enum (or simple sum) (e.g. a sum where none of the members has constructor fields).

Examples

Here is a list of example tools that process the given ASDL with PyASDL:

  • Typing Stub Generator
  • Python Class Generator
  • ESDL Generator
  • GraphQL Converter