///////////////////////////////////////////////////////////////////////// // $Log: alternationReachable.pp,v $ // Revision 5.5.1.1 1994/08/24 19:30:44 demeter // *** empty log message *** // // Revision 5.5 1994/08/24 19:30:43 demeter // *** empty log message *** // // Revision 5.4.1.3 1994/02/24 20:51:54 demeter // reimplement object transportation -- cun // // Revision 5.4.1.2 1994/02/22 14:44:27 demeter // update according to the new semantics // ///////////////////////////////////////////////////////////////////////// *operation* void alternationReachable(Cd_graph* schema, Vertex* t, int& targetAssociated) *wrapper* Vertex_selector *prefix* (@ @) *wrapper* Any_term *prefix* (@ derror('i',1," unexpected visit at Any_term::alternationReachable\n"); abort(); @) *wrapper* Vertex_set *prefix* (@ derror('i',1," unexpected visit at Vertex_set::alternationReachable\n"); abort(); @) *wrapper* Vertex_set_comp *prefix* (@ derror('i',1," unexpected visit at Vertex_set_comp::alternationReachable\n"); abort(); @) *wrapper* Class_set_inst *prefix* (@ derror('i',1," unexpected visit at Class_set_inst::alternationReachable\n"); abort(); @) *wrapper* Late_selected_terms *prefix* (@ derror('i',1," unexpected visit at Late_selected_terms::alternationReachable\n"); abort(); @) *wrapper* Fixed_term *prefix* (@ schema->alternationReachable(schema,vertex->get_vertex(),t,targetAssociated); @) *wrapper* Vertex_set_sim *prefix* (@ terms->alternationReachable(schema,t,targetAssociated); @) *wrapper* Fixed_term_Commalist *prefix* (@ Fixed_term_list_iterator next(*this); Fixed_term* each; while (each = next()) { each->alternationReachable(schema,t,targetAssociated); if (targetAssociated) return; } @) *operation* void alternationReachable(Cd_graph* schema, Vertex* f, Vertex* t, int& r) *wrapper* Cd_graph *prefix* (@ if (f->equal(t)) { r = 1; return; } adjacencies->alternationReachable(schema, f, t, r); @) *wrapper* Adjacency_Nlist *prefix* (@ Adjacency_list_iterator next(*this); Adjacency* each; while (each = next()) { if (each->get_source()->equal(t)) { each->alternationReachable(schema, f, t, r); if (r) return; } } @) *wrapper* Adjacency *prefix* (@ if (this->get_superclasses()) { Vertex_list_iterator next(*this->get_superclasses()); Vertex* each; while (each = next()) { schema->alternationReachable(schema, f, each, r); if (r) break; } } @)