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).

Tree Framework

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.