This method returns the type of this node. NodeType is an enumerated type in c_breeze.h with fields for all the different kinds of nodes. See c_breeze.h for the field names; they are pretty self explanatory. For example, the value While indicates a while-loop node.
Coord coord(); void coord(const Coord);
These methods return and set the coordinate of this node, i.e., location in the C program. See coord.h for details about coordinates.
bool parenthesized(); void parenthesized(bool);
These methods return and set the ``parenthesized'' attribute of this node, that is, whether the node represents an expression inside parentheses. This helps when unparsing the program; rather than parenthesize aggressively, the unparser need only insert parentheses that were in the program to begin with.
annote_list & annotations();
This method is a references to an initially empty list of annotations that you can extend. See annote.h for a description of the annote_list and Annote classes. Basically, you can leave information in an annotation to a node for later use, e.g., information gathered during dataflow analysis.
FlowVal * gen(); void gen(FlowVal *);
These methods return and set gen flow values for this node. FlowVal is an abstract class, subclasses of which are supplied by the user to represent dataflow values. Each node has a gen and kill flow value that are used during the dataflow analysis.
FlowVal * kill(); void kill(FlowVal *);
These methods return and set the flow value for kill, again used in dataflow analysis.