- Declared in:
- LKAST.h
Root class for AST nodes. Every node in the abstract syntax tree inherits from this. It stores the parent, allowing navigation up the tree, and a pointer to the symbol table for this scope.
Returns the AST nodes available at runtime for subclasses and categories.
Performs semantic analysis on this node and all of its children, reporting errors and warnings to the object specified by the argument.
Compile this AST node with the specified code generator.
Inherits the given symbol table from the parent.
Initialise a new AST node with the specified symbol table.
Set whether the AST node represents a bracketed expression.
Sets the parent of this node. Also sets connections between the nodes' symbol tables.
Is this a parenthetical expression? Avoids creating explicit nodes for parenthetical expressions. Might not be sensible.
Node above this one in the tree.
Symbol table for this context. If no new symbols are defined, this is a pointer to the parent's symbol table.
- Declared in:
- LKAST.h
Interprets the AST node with the specified context object. Returns the result.
- Declared in:
- LKAST.h
Convenience method. Visits every element in a specified mutable array, replacing elements with the versions returned by the visitor if they have changed.
Visit the abstract syntax tree with the specified visitor.
- Declared in:
- LKAST.h
Protocol for AST visitors. Used for classes that perform AST transforms.
Visit the specified AST node. The argument will be replaced by the return value in the AST if the two differ.