Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/iskandr/dsltools

Helpers for DSL construction in Python
https://github.com/iskandr/dsltools

Last synced: 2 months ago
JSON representation

Helpers for DSL construction in Python

Awesome Lists containing this project

README

        

DSL Tools
========

Helpers for creating and traversing recursively nested data structures in Python. Useful for creating simple languages and abstract value domains like type and shape systems.

Contains:

* *Node*: Base class for building algebraic data types by having each child class declare "\_members = ['x', 'y', 'z']"
* *ScopedDict*: Stack of dictionaries for keeping variable->value mappings while traversing nested scopes
* *ScopedSet*: Stack of sets for keeping sets of variables while traversing nested scopes
* *NestedBlocks*: Stack of lists for traversing nested scopes of statement sequences
* *dispatch*: calls local functions based on the class name of its argument