use btree instead of hashing, don't have to resort later
[unix-history] / usr / src / usr.bin / ctags / ctags.h
CommitLineData
2b30892c 1/*
ffa8a268
KB
2 * Copyright (c) 1987 The Regents of the University of California.
3 * All rights reserved.
4 *
a3bb5b82 5 * %sccs.include.redist.c%
ffa8a268 6 *
6c2ce1d3 7 * @(#)ctags.h 5.4 (Berkeley) %G%
2b30892c
KB
8 */
9
2b30892c
KB
10#define bool char
11
12#define YES 1
13#define NO 0
14#define EOS '\0'
15
16#define ENDLINE 50 /* max length of pattern */
17#define MAXTOKEN 250 /* max size of single token */
18
19#define SETLINE {++lineno;lineftell = ftell(inf);}
20#define GETC(op,exp) ((c = getc(inf)) op (int)exp)
21
22#define iswhite(arg) (_wht[arg]) /* T if char is white */
23#define begtoken(arg) (_btk[arg]) /* T if char can start token */
24#define intoken(arg) (_itk[arg]) /* T if char can be in token */
25#define endtoken(arg) (_etk[arg]) /* T if char ends tokens */
26#define isgood(arg) (_gd[arg]) /* T if char can be after ')' */
27
28typedef struct nd_st { /* sorting structure */
29 struct nd_st *left,
30 *right; /* left and right sons */
31 char *entry, /* function or type name */
32 *file, /* file name */
33 *pat; /* search pattern */
34 int lno; /* for -x option */
35 bool been_warned; /* set if noticed dup */
36} NODE;
37
38extern FILE *inf; /* ioptr for current input file */
39extern long lineftell; /* ftell after getc( inf ) == '\n' */
40extern int lineno, /* line number of current line */
41 xflag; /* -x: cxref style output */
42extern bool _wht[0177],_etk[0177],_itk[0177],_btk[0177],_gd[0177];
43extern char lbuf[BUFSIZ];