Go to the previous, next section.
The set_proc function should be called before any use of builder
functions. The constructors and other functions are used to create and
compose blocks. The set function is used to change the context
of a block to the new value. This is needed since the assignment
operator(B = A) does not perform the normal assignment operation.
The Assignment operator is overloaded to create a new block that will
perform an assignment in the resulting SUIF code.
void set_proc(tree_proc * p)
tree_proc * get_proc()
block()
block(block * b)
block(block & b)
// Assignment
void set(block * b)
void set(block & b)
// Composition
block(block & ex1, block & ex2,
block & ex3 = *NOOP, block & ex4 = *NOOP,
block & ex5 = *NOOP, block & ex6 = *NOOP,
block & ex7 = *NOOP, block & ex8 = *NOOP,
block & ex9 = *NOOP, block & ex10= *NOOP,
block & ex11= *NOOP, block & ex12= *NOOP)
block & statement(block & ex1 = *NOOP,
block & ex2 = *NOOP,
block & ex3 = *NOOP,
block & ex4 = *NOOP,
block & ex5 = *NOOP,
block & ex6 = *NOOP,
block & ex7 = *NOOP,
block & ex8 = *NOOP,
block & ex9 = *NOOP,
block & ex10= *NOOP,
block & ex11= *NOOP,
block & ex12= *NOOP)
block & statement_append(block &)
block & statement_insert(block &)
~block();
Go to the previous, next section.