-#define reg register
-#define logical char
-
-#define TRUE (1)
-#define FALSE (0)
-
-#define iswhite(arg) (_wht[arg]) /* T if char is white */
-#define begtoken(arg) (_btk[arg]) /* T if char can start token */
-#define intoken(arg) (_itk[arg]) /* T if char can be in token */
-#define endtoken(arg) (_etk[arg]) /* T if char ends tokens */
-#define isgood(arg) (_gd[arg]) /* T if char can be after ')' */
-
-#define max(I1,I2) (I1 > I2 ? I1 : I2)
-
-struct nd_st { /* sorting structure */
- char *func; /* function name */
- char *file; /* file name */
- int lno; /* for -x option */
- char *pat; /* search pattern */
- logical been_warned; /* set if noticed dup */
- struct nd_st *left,*right; /* left and right sons */
-};
-
-long ftell();
-typedef struct nd_st NODE;
-
-logical number, /* T if on line starting with # */
- term = FALSE, /* T if print on terminal */
- makefile= TRUE, /* T if to creat "tags" file */
- gotone, /* found a func already on line */
- /* boolean "func" (see init) */
- _wht[0177],_etk[0177],_itk[0177],_btk[0177],_gd[0177];
-
-char searchar = '?'; /* use ?...? searches */
-
-int lineno; /* line number of current line */
-char line[4*BUFSIZ], /* current input line */
- *curfile, /* current input file name */
- *outfile= "tags", /* output file */
- *white = " \f\t\n", /* white chars */
- *endtk = " \t\n\"'#()[]{}=-+%*/&|^~!<>;,.:?",
- /* token ending chars */
- *begtk = "ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz",
- /* token starting chars */
- *intk = "ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz0123456789", /* valid in-token chars */
- *notgd = ",;"; /* non-valid after-function chars */