/////////////////////////////////////////////////////////////////////////// // /////////////////////////////////////////////////////////////////////////// *operation* void expand_for_trav(Cd_graph* schema) *wrapper* Propagation_pattern *prefix* (@ header->expand_for_trav(schema); impl_or_loc->expand_for_trav(schema); @) *wrapper* Header *prefix* (@ if (access) access->expand(schema,access); @) *wrapper* Impl_or_loc *prefix* (@ derror('i',1," unexpected visit at Impl_or_loc::expand_for_trav\n"); abort(); @) *wrapper* Implementation *prefix* (@ if (pde) pde->expand(schema); @) /////////////////////////////////////////////////////////////////////////// // /////////////////////////////////////////////////////////////////////////// *operation* void expand_for_trans(Cd_graph* schema) *wrapper* Propagation_pattern *prefix* (@ impl_or_loc->expand_for_trans(schema); @) *wrapper* Impl_or_loc *prefix* (@ derror('i',1," unexpected visit at Impl_or_loc::expand_for_trans\n"); abort(); @) *wrapper* Implementation *prefix* (@ carry_or_wrapper->expand_for_trans(schema); @) *wrapper* Carry_or_wrapper_List *prefix* (@ Carry_or_wrapper_list_iterator next(*this); Carry_or_wrapper* each; while (each=next()) each->expand_for_trans(schema); @) *wrapper* Carry_or_wrapper *prefix* (@ @) *wrapper* Sig_ext_prim *prefix* (@ pde->expand(schema); assignments->expand_for_trans(schema); @) *wrapper* Param_assignment_block_List *prefix* (@ Param_assignment_block_list_iterator next(*this); Param_assignment_block* each; while (each=next()) each->expand_for_trans(schema); @) *wrapper* Param_assignment_block *prefix* (@ vertices->expand(schema,vertices); @) *operation* void expand_for_cgen(Cd_graph* schema) *wrapper* Propagation_pattern *prefix* (@ impl_or_loc->expand_for_cgen(schema); @) *wrapper* Impl_or_loc *prefix* (@ derror('i',1," unexpected visit at Impl_or_loc::expand_for_cgen\n"); abort(); @) *wrapper* Implementation *prefix* (@ carry_or_wrapper->expand_for_cgen(schema); @) *wrapper* Carry_or_wrapper_List *prefix* (@ Carry_or_wrapper_list_iterator next(*this); Carry_or_wrapper* each; while (each = next()) each->expand_for_cgen(schema); @) *wrapper* Carry_or_wrapper *prefix* (@ @) *wrapper* Code_fragment *prefix* (@ vertices_edges->expand(schema); @) /////////////////////////////////////////////////////////////////////////// // /////////////////////////////////////////////////////////////////////////// *operation* void expand(Cd_graph* schema,Vertex_selector*& vs) *wrapper* Vertex_selector *prefix* (@ derror('i',1," unexpected visit at Vertex_selector::expand\n"); abort(); @) *wrapper* Any_term *prefix* (@ Vertex_set_sim* ns = new Vertex_set_sim(); ns->set_terms(new Fixed_term_Commalist()); schema->collect_terms(ns->get_terms()); vs = ns; @) *wrapper* Fixed_term *prefix* (@ Adjacency_list_iterator next(*schema->get_adjacencies()); Adjacency* each; while (each = next()) if (each->get_source()->get_vertex_name()->g_equal( this->get_vertex()->get_vertex()->get_vertex_name())) break; if (each == NULL) { cout << toolname << ": error : unavailable class :'" << this->get_vertex()->get_vertex()->get_vertex_name()->get_val() << "' on line " << this->get_vertex()->get_vertex()->get_vertex_name()->get_line_number() << endl; exit(-1); } Vertex_set_sim* ns = new Vertex_set_sim(); ns->set_terms(new Fixed_term_Commalist()); ns->get_terms()->append(this); vs = ns; @) *wrapper* Vertex_set_sim *prefix* (@ Fixed_term_list_iterator next2(*this->get_terms()); Fixed_term* each2; while (each2 = next2()) { Adjacency_list_iterator next(*schema->get_adjacencies()); Adjacency* each; while (each = next()) if (each->get_source()->get_vertex_name()->g_equal( each2->get_vertex()->get_vertex()->get_vertex_name())) break; if (each == NULL) { cout << toolname << ": error : unavailable class :'" << each2->get_vertex()->get_vertex()->get_vertex_name()->get_val() << "' on line " << each2->get_vertex()->get_vertex()->get_vertex_name()->get_line_number() << endl; exit(-1); } } @) *wrapper* Vertex_set *prefix* (@ derror('i',1," unexpected visit at Vertex_set::expand\n"); abort(); @) *wrapper* Vertex_set_comp *prefix* (@ derror('e',1," not yet implemented\n"); this->g_print(); exit(-1); @) *wrapper* Class_set_inst *prefix* (@ derror('i',1," unexpected visit at Class_set_inst::expand\n"); abort(); @) *wrapper* Late_selected_terms *prefix* (@ derror('e',1," not yet implemented\n"); this->g_print(); exit(-1); @) /////////////////////////////////////////////////////////////////////////// // /////////////////////////////////////////////////////////////////////////// *operation* void expand(Cd_graph* schema) *wrapper* Vertices_edges *prefix* (@ derror('i',1," unexpected visit at Vertices_edges::expand\n"); abort(); @) *wrapper* Require_vertex_selector *prefix* (@ vertices->expand_cgen(schema,vertices); if (edges) edges->expand(schema); @) *wrapper* Require_meta_edges *prefix* (@ edges->expand(schema); if (vertices) vertices->expand_cgen(schema,vertices); @) *wrapper* Propagation_directive_exp *prefix* (@ derror('i',1," unexpected visit at Propagation_directive_exp::expand\n"); abort(); @) *wrapper* Dir_name_with_exp *prefix* (@ derror('i',1," unexpected visit at Dir_name_with_exp::expand\n"); abort(); @) *wrapper* Pde *prefix* (@ source_port->expand(schema,source_port); if (constraint) constraint->expand(schema); via->expand(schema); @) *wrapper* Join_pde *prefix* (@ pde1->expand(schema); pde2->expand(schema); @) *wrapper* Merge_pde *prefix* (@ pde1->expand(schema); pde2->expand(schema); @) *wrapper* Path_constraint_exp *prefix* (@ derror('i',1," unexpected visit at Path_constraint_exp::expand\n"); abort(); @) *wrapper* Require_through *prefix* (@ through->expand(schema); if (bypassing) bypassing->expand(schema); @) *wrapper* Require_bypassing *prefix* (@ bypassing->expand(schema); if (through) through->expand(schema); @) *wrapper* Through_path_constraint *prefix* (@ through->expand(schema,through); @) *wrapper* Bypassing_path_constraint *prefix* (@ bypassing->expand(schema,bypassing); @) *wrapper* Segment_List *prefix* (@ Segment_list_iterator next(*this); Segment* each; while (each = next()) each->expand(schema); @) *wrapper* Segment *prefix* (@ targets->expand(schema); if (constraint) constraint->expand(schema); @) *wrapper* Targets *prefix* (@ targets->expand(schema,targets); @) *wrapper* Meta_edges *prefix* (@ Meta_edge_Commalist * t = edges; t->expand(schema,edges); delete t; @) /////////////////////////////////////////////////////////////////////////// // /////////////////////////////////////////////////////////////////////////// *operation* void expand(Cd_graph* schema,Meta_edge_Commalist*& edges) *wrapper* Meta_edge_Commalist *prefix* (@ edges = new Meta_edge_Commalist(); Meta_edge_list_iterator next(*this); Meta_edge* each; while (each = next()) each->expand(schema,edges); @) *wrapper* Meta_edge *prefix* (@ derror('i',1," unexpected visit at Meta_edge::expand\n"); abort(); @) *wrapper* Meta_construction_edge *prefix* (@ int found = 0; schema->colect_cons_edges(edges,found,this); if (found == 0) { derror('e',1,"unable to find construction edges to match\n"); this->g_print(cout); cout << endl; exit(-1); } @) *wrapper* Meta_alternation_edge *prefix* (@ int found = 0; schema->colect_alt_edges(edges,found,this); if (found == 0) { derror('e',1,"unable to find alternation edges to match\n"); this->g_print(cout); cout << endl; exit(-1); } @) *wrapper* Meta_inheritance_edge *prefix* (@ int found = 0; schema->colect_inh_edges(edges,found,this); if (found == 0) { derror('e',1,"unable to find inheritance edges to match\n"); this->g_print(cout); cout << endl; exit(-1); } @) *wrapper* Meta_repetition_edge *prefix* (@ int found = 0; schema->colect_rep_edges(edges,found,this); if (found == 0) { derror('e',1,"unable to find repetition edges to match\n"); this->g_print(cout); cout << endl; exit(-1); } @) /////////////////////////////////////////////////////////////////////////// // /////////////////////////////////////////////////////////////////////////// *operation* void expand_cgen(Cd_graph* schema,Vertex_selector*& vs) *wrapper* Vertex_selector *prefix* (@ derror('i',1," unexpected visit at Vertex_selector::expand\n"); abort(); @) *wrapper* Any_term *prefix* (@ Vertex_set_sim* ns = new Vertex_set_sim(); ns->set_terms(new Fixed_term_Commalist()); schema->collect_terms(ns->get_terms()); vs = ns; @) *wrapper* Fixed_term *prefix* (@ Adjacency_list_iterator next(*schema->get_adjacencies()); Adjacency* each; while (each = next()) if (each->get_source()->get_vertex_name()->g_equal( this->get_vertex()->get_vertex()->get_vertex_name())) break; if (each == NULL) { cout << toolname << ": error : unavailable class :'" << this->get_vertex()->get_vertex()->get_vertex_name()->get_val() << "' on line " << this->get_vertex()->get_vertex()->get_vertex_name()->get_line_number() << endl; exit(-1); } Vertex_set_sim* ns = new Vertex_set_sim(); ns->set_terms(new Fixed_term_Commalist()); ns->get_terms()->append(this); vs = ns; this->collect_subclasses(ns->get_terms(),schema); /* when code fragments attached to alternation classes the subclasses not in the ps are not calling it */ @) *wrapper* Vertex_set_sim *prefix* (@ Fixed_term_list_iterator next2(*this->get_terms()); Fixed_term* each2; while (each2 = next2()) { Adjacency_list_iterator next(*schema->get_adjacencies()); Adjacency* each; while (each = next()) if (each->get_source()->get_vertex_name()->g_equal( each2->get_vertex()->get_vertex()->get_vertex_name())) break; if (each == NULL) { cout << toolname << ": error : unavailable class :'" << each2->get_vertex()->get_vertex()->get_vertex_name()->get_val() << "' on line " << each2->get_vertex()->get_vertex()->get_vertex_name()->get_line_number() << endl; exit(-1); } each2->collect_subclasses(this->get_terms(),schema); /* when code fragments attached to alternation classes the subclasses not in the ps are not calling it */ } @) *wrapper* Vertex_set *prefix* (@ derror('i',1," unexpected visit at Vertex_set::expand\n"); abort(); @) *wrapper* Vertex_set_comp *prefix* (@ derror('e',1," not yet implemented\n"); this->g_print(); exit(-1); @) *wrapper* Class_set_inst *prefix* (@ derror('i',1," unexpected visit at Class_set_inst::expand\n"); abort(); @) *wrapper* Late_selected_terms *prefix* (@ derror('e',1," not yet implemented\n"); this->g_print(); exit(-1); @)