*operation* void stdmethods_list1 ( ostream& out ) *traverse* *from* Demeter_in *to* { Construct_ns, Alternat_ns } *wrapper* Demeter_in *prefix* (@ out << "\n/******** OBJECT HANDLERS ********/\n\n" << "#include \n#include \n" << "#include \"demeter.h\"\n" << "#include \"miscFunc.h\"\n" << "#include \"objectHandler.h\"\n" << "#include \"handlers.h\"\n" << "#include \"UNKNOWN.h\"\n" << "#include \n" << "#include \n" << "#include \n" << endl; @) *wrapper* Adjacency *prefix* (@ out << "int "<<(source->get_vertex_name())->get_val() << "ObjectHandler" << "(ClientData clientData, Tcl_Interp " << "*interp, int argc, char **argv)\n{"<get_vertex_name())->get_val() <<" *x;\n" << "\tchar buffer[180];\n" << "\tstatic char *methods[] = {\n" << endl; int no_of_stdmethods = 0; ns->write_names_of_functions(out,&no_of_stdmethods); out << "\n\t\t\tNULL\n\t\t};\n\n" << endl; out << "\tif (argc < 2)\n" << "\t{\t\tinterp->result = \"wrong # args\" ;\n" << "\t\treturn TCL_ERROR ;\n" << "\t}\n\n" << "\tx = (" << source << "*)string2addr(argv[1]);\n" << "\tif (!x) {\n" << "\t\tinterp->result = \"invalid address\" ;\n" << "\t\treturn TCL_ERROR ;\n\t}\n\n" << endl; if(no_of_stdmethods > 0) { out<< "\tint n = validMethod(methods,argv[1]) ;\n" << "\n\tswitch (n)\n\t{" << endl; ns->write_functions(out,1,(source->get_vertex_name())->get_val()); out << "\n\t}\n"<get_vertex_name())->get_val() << "_Super.h\"\n}\n" << endl; @) *operation* void create_super_header_files() *traverse* *from* Demeter_in *to* Term *carry* *in* Vertex* sourcein = (@ source @) *along* *from* Adjacency *to* Term *wrapper* Term *prefix* (@ char filename[180]; ofstream outFile7; strcpy(filename,"notmod/headers/"); strcat(filename,(sourcein->get_vertex_name())->get_val()); strcat(filename, "_Super.h"); outFile7.open(filename, ios::out); outFile7 << "return(" <get_vertex_name()->get_val() << "ObjectHandler(clientData, interp, argc, argv));" << endl; outFile7.close(); @) *operation* void write_names_of_functions(ostream& out, int *i) *traverse* *from* Neighbors *to* Labeled *wrapper* Labeled *prefix* (@ out << "\t\t\t\"get_" << label_name->get_val() << ":\",\n" << "\t\t\t\"set_" << label_name->get_val() << ":\",\n" << "\t\t\t\"rset_" << label_name->get_val() << ":\"," <get_val() << "()\n" << "\t\t\tx = (" << method <<"*) string2addr(argv[0]);\n" << "\t\t\tsprintf(interp->result, \"%s\", addr2string(x->get_" << label_name << "()));\n\t\t\treturn TCL_OK;\n\n" << "\t\tcase " << i+1 << ":\tif (argc != 3) return TCL_ERROR ;//set_" << label_name->get_val() << "()\n" << "\t\t\tx = (" << method <<"*) string2addr(argv[0]);\n" << "\t\t\tx->set_" << label_name->get_val() << "((" << get_vertex()->get_vertex()->get_vertex_name() << "*)" << "(string2addr(argv[2])));\n\t\t\treturn TCL_OK;\n\n" << "\t\tcase " << i+2 << ":\tif (argc != 3) return TCL_ERROR ;//rset_" << label_name->get_val() << "()\n" << "\t\t\tx = (" << method <<"*) string2addr(argv[0]);\n" << "\t\t\tsprintf(interp->result, \"%s\", addr2string(x->get_" << label_name->get_val() << "()));\n\t\t\t" << "x->set_" << label_name->get_val() << "((" << get_vertex()->get_vertex()->get_vertex_name() << "*)" << "(string2addr(argv[2])));\n\t\t\treturn TCL_OK;\n\n" << endl; i += 3; @) *operation* void stdmethods_list2 ( ostream& out ) *traverse* *from* Demeter_in *to* { Construct_ns, Alternat_ns } *wrapper* Demeter_in *prefix* (@ out << "\n/******** OBJECT HANDLERS ********/\n\n" << endl; @) *wrapper* Adjacency *prefix* (@ out << "int "<<(source->get_vertex_name())->get_val() << "ObjectHandler" << "(ClientData, Tcl_Interp*, " << "int, char**);"<