Submodule ast.node defines every kind of node in an AST.
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
using the appropriate method in the
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 predicate on AST nodes, i.e., a function which given an
ASTNode, returns either
false.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.A node in which all children have type
T.A static assertion has syntax
_Static_assert ( constant-expression , string-literal ).