Go to the first, previous, next, last section, table of contents.
The builder provides a new_sym()
function to create new SUIF
variables. In order to create a variable, the type of the variable is
specified by using either the SUIF type_node
structure or
the builder const_type
enum. The const_type
enum can be
used only to define a few basic types (cst_int, cst_double,
cst_float, cst_char, cst_str
). The name of the new variable can be
optionally specified. If no name is specified, a unique name is
allocated by the builder. The function get_sym()
can be used to
directly obtain the SUIF structure (sym_node
) of a
builder-created variable. See section Defining Variables and Generating New Type Definitions for
detailed information on defining new variables.
block v1(block::new_sym(cst_int, "v1")); var_sym * symv1 = (var_sym *)v1.get_sym(); block v2(block::new_sym(v1->type(), "v2"));
Note: In the current implementation all the variables that are created are local variables of the current procedure. There is no way to create global variables or variables within inner scopes in this release.
A label symbol can be created using the new_label()
command.
Go to the first, previous, next, last section, table of contents.