Go to the previous, next section.

Block Operations and Initialization

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.