#include "semcheck.h" extern char * tolowercase(char* partname); /********************************************************************* ** File Name : addLabelToRegular.c ** **********************************************************************/ #include void Cd_graph::addLabelToRegular() { adjacencies->addLabelToRegular(); } void Adjacency_Nlist::addLabelToRegular() { Adjacency_list_iterator next(*this); Adjacency_ each; while (each=next()) each->addLabelToRegular(); } void Adjacency::addLabelToRegular() { ns->addLabelToRegular(); } void Neighbors::addLabelToRegular() { } void Repetit_n::addLabelToRegular() { } void Neighbors_wc::addLabelToRegular() { this->rset_construct_ns(construct_ns->addLabelToRegular()); } Any_vertex_List* Any_vertex_List::addLabelToRegular() { Any_vertex_list_iterator next(*this); Any_vertex_ each; Any_vertex_List* newlist = new Any_vertex_List(); while (each=next()) newlist->append(each->addLabelToRegular()); return newlist; } Any_vertex* Any_vertex::addLabelToRegular() { return this; } Any_vertex* Opt_labeled_term::addLabelToRegular() { return (Any_vertex*)this; } Any_vertex* Optional_term::addLabelToRegular() { opt->addLabelToRegular(); return (Any_vertex*)this; } void Opt_labeled_term_Sandwich::addLabelToRegular() { this->set_inner((Opt_labeled_term*)inner->addLabelToRegular()); } Any_vertex* Regular::addLabelToRegular() { Labeled * aLabeled = new Labeled(); aLabeled->set_vertex(this->get_vertex()); aLabeled->rset_label_name(this->get_vertex()->addLabelToRegular()); aLabeled->set_staticspec(this->get_staticspec()); aLabeled->set_accessorspec(this->get_accessorspec()); return (Any_vertex* )aLabeled; } Any_vertex* Labeled::addLabelToRegular() { return (Any_vertex*)this; } DemIdent* Term::addLabelToRegular() { return this->get_vertex()->addLabelToRegular(); } DemIdent* Vertex::addLabelToRegular() { DemIdent * l = new DemIdent(tolowercase(this->get_vertex_name()->get_val())); l->set_line_number(this->get_vertex_name()->get_line_number()); return l; }