Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Helpers for DSL construction in Python
branch: master


latest commit caa8247c79
@iskandr authored
Failed to load latest commit information.
dsltools update
.gitignore Initial commit
.travis.yml added travis
LICENSE added setup file Update
requirements.txt added travis

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.


  • 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
Something went wrong with that request. Please try again.