Submodule ast.node defines every kind of node in an AST.

The interface ASTNode is the root of the AST node type hierarchy. All AST nodes implement that interface.

Other miscellaneous interfaces dealing with nodes are included in this package. This includes the NodeFactory, which specifies a factory for producing every kind of AST node and related objects.

Any AST node can have any number of "attributes" associated to it. This is a flexible mechanism for allowing clients to "hang" any kind of information on to AST nodes. To do this one first creates an AttributeKey using the appropriate method in the NodeFactory. That key can then be used to associate a value to a node.