/*
* xrt.c - cross-reference table
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "ln_seq.h"
#include "xrt.h"
struct treenode
{
char *word;
ln_seq lines;
treenode *left, *right;
treenode(unsigned);
~treenode();
};
treenode::treenode(unsigned n) : lines(n) { }
treenode::~treenode()
{
delete word;
delete left;
delete right;
}
static treenode *addtree
(treenode *t, char *w, unsigned n)
{
// same as Listing 7 ...
}
static void printtree(treenode *t)
{
// same as Listing 4 ...
}
static treenode *root = 0;
void xrt_add(char *w, unsigned n)
{
root = addtree(root, w, n);
}
void xrt_destroy(void)
{
delete root;
}
void xrt_print(void)
{
printtree(root);
}