#include "treeprop.h" Ar_Vertex_list* Ar_Vertex_list::compute_c( Vertex* v ) { DEM_TRACE("Ar_Vertex_list","Ar_Vertex_list* Ar_Vertex_list::compute_c(Vertex* v)"); Ar_Vertex_list* return_val = new Ar_Vertex_list ; this->compute_c_( return_val, v ); return return_val; } // Vertex = DemIdent . void Vertex::compute_c_( Ar_Vertex_list* & return_val, Vertex* v, Ar_Vertex* arv ) { DEM_TRACE("Vertex","void Vertex::compute_c_(Ar_Vertex_list* & return_val,Vertex* v,Ar_Vertex* arv)"); // variables for carrying in and out // assignments for carrying in // prefix class wrappers if (g_equal(v)) { return_val = return_val->arsize_insert(arv); } // outgoing calls // suffix class wrappers // assignments for carrying out } // Vertex_comma_list ~ Vertex { Vertex }. . void Vertex_comma_list::compute_c_( Ar_Vertex_list* & return_val, Vertex* v, Ar_Vertex* arv ) { DEM_TRACE("Vertex_comma_list","void Vertex_comma_list::compute_c_(Ar_Vertex_list* & return_val,Vertex* v,Ar_Vertex* arv)"); // variables for carrying in and out // assignments for carrying in // prefix class wrappers // outgoing calls Vertex_list_iterator next_Vertex(*this); Vertex* each_Vertex; while ( each_Vertex = next_Vertex() ) { // repetition edge prefix wrappers each_Vertex->compute_c_( return_val, v , arv ); // repetition edge suffix wrappers } // suffix class wrappers // assignments for carrying out } // Ar_Vertex = Vertex // Vertex_comma_list // Vertex . void Ar_Vertex::compute_c_( Ar_Vertex_list* & return_val, Vertex* v ) { DEM_TRACE("Ar_Vertex","void Ar_Vertex::compute_c_(Ar_Vertex_list* & return_val,Vertex* v)"); // variables for carrying in and out Ar_Vertex* arv = this ; // assignments for carrying in // prefix class wrappers // outgoing calls // construction edge prefix wrappers this->get_ar()->compute_c_( return_val, v , arv ); // construction edge suffix wrappers // suffix class wrappers // assignments for carrying out } // Ar_Vertex_list ~ { Ar_Vertex }. . void Ar_Vertex_list::compute_c_( Ar_Vertex_list* & return_val, Vertex* v ) { DEM_TRACE("Ar_Vertex_list","void Ar_Vertex_list::compute_c_(Ar_Vertex_list* & return_val,Vertex* v)"); // variables for carrying in and out // assignments for carrying in // prefix class wrappers // outgoing calls Ar_Vertex_list_iterator next_Ar_Vertex(*this); Ar_Vertex* each_Ar_Vertex; while ( each_Ar_Vertex = next_Ar_Vertex() ) { // repetition edge prefix wrappers each_Ar_Vertex->compute_c_( return_val, v ); // repetition edge suffix wrappers } // suffix class wrappers // assignments for carrying out }