/*
 * 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);
    }

