#include "semcheck.h" /* rep_identical.c */ int Cd_graph::rep_identical() { return adjacencies->rep_identical(); } int Adjacency_Nlist::rep_identical() { int result = SUCCESS; Adjacency_list_iterator next(*this); Adjacency_ each; while (each=next()) if (each->rep_identical()!=SUCCESS) { cerr << toolname << ": error: on line " << each->get_source()->get_vertex_name()->get_line_number() << " two class instances are not indentical." << endl; result = ERROR_REP; } return (result); } int Adjacency::rep_identical() { return ns->rep_identical(); } int Neighbors::rep_identical() { return (SUCCESS); // For nonrepetitional productions. } int Repetit_n::rep_identical() { return sandwiched->rep_identical(); } int Kernel_Sandwich::rep_identical() { return inner->rep_identical(); } int Kernel::rep_identical() { if (!nonempty) return (SUCCESS); return repeated->rep_identical(nonempty); } int Term_Sandwich::rep_identical(Term *nonempty) { if (nonempty->g_equal(inner)) return (SUCCESS); else return (ERROR_REP); }