Tree Framework - craterdog-archives/js-bali-component-framework GitHub Wiki
Tree Framework
Tree components consist of one or more hierarchical nodes that define a parse tree for some Bali Document Notation™. Unlike elements, the state of a tree may be modified. In general, a node that is part of a tree component belongs to that tree exclusively. When the tree is destroyed, all of its nodes are destroyed as well.
The following UML class diagram shows a high-level view of the tree component types (gray).

Abstract type names are italicized whereas concrete type names are not.
Tree Classes
Node
A node is used to capture any procedural node in the parse tree generated by the Bali Nebula™ parser. The structural nodes in the parse tree have explicit elemental or collection types.
Procedure
A procedure captures the procedural aspects of the Bali Document Notation™ in a tree structure containing a sequence of statements that may be compiled and executed on the Bali Nebula™ virtual machine.