=================================================================== RCS file: /cvs/djgpp/djgpp/src/mkdoc/mkdoc.cc,v retrieving revision 1.36 retrieving revision 1.37 diff -p -u -r1.36 -r1.37 --- djgpp/src/mkdoc/mkdoc.cc 2008/08/17 11:07:20 1.36 +++ /cvs/djgpp/djgpp/src/mkdoc/mkdoc.cc 2008/08/17 11:39:51 1.37 @@ -110,7 +110,8 @@ struct TreeNode { ~TreeNode(); void Traverse(void (*tf)(TreeNode *)); int Compare(char *sn); - void pnode(char *up); + void Pnode(void); + const char *up(void); }; template @@ -728,6 +729,16 @@ TreeNode::Compare(char *sn) return strcmp(sname, sn); } +const char *TreeNode >::up(void) +{ + return "Functional Categories"; +} + +const char *TreeNode::up(void) +{ + return "Alphabetical List"; +} + template Tree::Tree() { @@ -803,11 +814,11 @@ FILE *co; template void -TreeNode::pnode(char *up) +TreeNode::Pnode(void) { fprintf(co, "@c -----------------------------------------------------------------------------\n"); fprintf(co, "@node %s, %s, %s, %s\n", name, - next ? next->name : "", prev ? prev->name : "", up); + next ? next->name : "", prev ? prev->name : "", up()); fprintf(co, "@unnumberedsec %s\n", name); } @@ -834,17 +845,11 @@ Node::Print1(void) lines.Print(co); } +template void -cprint2(TreeNode > *n) -{ - n->pnode("Functional Categories"); - n->node->Print1(); -} - -void -nprint2(TreeNode *n) +print2(TreeNode *n) { - n->pnode("Alphabetical List"); + n->Pnode(); n->node->Print1(); } @@ -1016,7 +1021,7 @@ int main (int argc, char **argv) fprintf(co, "\n"); categories.Print1(); - categories.Traverse(cprint2); + categories.Traverse(print2); // Alphabetical List fprintf(co, "@c -----------------------------------------------------------------------------\n"); @@ -1025,7 +1030,7 @@ int main (int argc, char **argv) fprintf(co, "\n"); nodes.Print1(); - nodes.Traverse(nprint2); + nodes.Traverse(print2); printf("%d nodes processed\n", Node::count_nodes); fclose(co); return 0;