#include "semcheck.h" /***************************************************************** ** File Name : strip_extern.c ** *****************************************************************/ #include void Cd_graph::strip_extern() { adjacencies->strip_extern(); } void *Adjacency_Nlist::strip_extern() { Adjacency_list_iterator next(*this); Adjacency_ each; while (each=next()) each->strip_extern(); return NULL; } void Adjacency::strip_extern() { ns->strip_extern(); } void Neighbors::strip_extern() { } void Neighbors_wc::strip_extern() { } void Construct_ns::strip_extern() { this->rset_construct_ns(this->get_construct_ns() ->strip_extern()); } Any_vertex_List* Any_vertex_List::strip_extern() { Any_vertex_List * new_list = new Any_vertex_List(); Any_vertex_list_iterator next(*this); Any_vertex_ each; while (each= next()) if (each->not_extern()) new_list->append(each); return new_list; } int Any_vertex::not_extern() { return 1; } int Opt_labeled_term::not_extern() { return this->get_vertex()->not_extern(); } int Optional_term::not_extern() { return opt->not_extern(); } int Opt_labeled_term_Sandwich::not_extern() { return inner->not_extern(); } /* Term : Normal | CppTerm *common* Vertex TermRef ["*adjacency*" Adjacency "." ] ["(" Comma_list(Term) ")" ] [ "(firstset" Comma_list(Ll1SetElement) ")"] [ "(followset" Comma_list(Ll1SetElement) ")"] . CppTerm = "$" . Normal = . TermRef : LocalRef | ModuleRef. ModuleRef : CompRef | LibRef *common* Ident. LocalRef = . CompRef = "@". LibRef = "@@". */ int Term::not_extern() { return 0; } int Normal::not_extern() { return this->get_moduleRef()->not_extern(); } int LocalRef::not_extern() { return 1; } int TermRef::not_extern() { return 0; }