Package edu.udel.cis.vsl.abc.ast.node.IF
package edu.udel.cis.vsl.abc.ast.node.IF
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.
-
ClassDescriptionRoot of the AST node type hierarchy.The different kind of AST nodes.A key to be used as a key-attribute pair.Represents the association between a type and an expression for use in a generic selection expression.An identifier can denote: (1) an object, (2) a function, (3) a tag of a structure, union, or enumeration, (4) a member of a structure, union, or enumeration, (5) a typedef name, or (6) a label name.The factory used to construct the nodes of Abstract Syntax Trees.A factory class providing a static method to produce a new
NodeFactory
.A node with two children, the first of type S and the second of type T.A pragma may be included in the AST wherever a statement or an external definition may occur.SequenceNode<T extends ASTNode>A node in which all children have typeT
.A static assertion has syntax_Static_assert ( constant-expression , string-literal )
.