home *** CD-ROM | disk | FTP | other *** search
/ The C Users' Group Library 1994 August / wc-cdrom-cusersgrouplibrary-1994-08.iso / listings / v_09_03 / 9n03116a < prev    next >
Text File  |  1991-01-16  |  861b  |  46 lines

  1.  
  2. /*
  3.  * xr.c - a cross-reference generator
  4.  */
  5. #include <ctype.h>
  6. #include <stdio.h>
  7. #include <stdlib.h>
  8. #include <string.h>
  9.  
  10. typedef struct listnode listnode;
  11. struct listnode
  12.     {
  13.     unsigned number;
  14.     listnode *next;
  15.     };
  16.  
  17. typedef struct treenode treenode;
  18. struct treenode
  19.     {
  20.     char *word;
  21.     listnode *lines;
  22.     treenode *left, *right;
  23.     };
  24.  
  25. treenode *addtree(treenode *t, char *w, unsigned n);
  26. void printtree(treenode *t);
  27. int getword(char *word, size_t lim);
  28.  
  29. #define MAXWORD 100
  30.  
  31. int main(void)
  32.     {
  33.     treenode *root = NULL;
  34.     char word[MAXWORD];
  35.     unsigned lineno = 1;
  36.  
  37.     while (getword(word, MAXWORD) != EOF)
  38.         if (isalpha(word[0]))
  39.             root = addtree(root, word, lineno);
  40.         else if (word[0] == '\n')
  41.             ++lineno;
  42.     printtree(root);
  43.     return 0;
  44.     }
  45.  
  46.