|
|
1.1 root 1: #include <fio.h>
2: #include <ctype.h>
3: #include <libc.h>
4:
5: /*#define DOSTATS /* define this to gather stats */
6: #ifdef DOSTATS
7: long nbytes, nlines, ntrans, nfollow, nmaxfoll;
8: int dostats();
9: char *statspat, *statsexpr;
10: #endif
11:
12: #define BLKSIZE 1024 /* size of reported disk blocks */
13: #define MAXLIN 10000
14: #define MAXPOS 20000
15: #define NCHARS 256
16: #define NSTATES 128
17: #define FINAL -1
18: #define LEFT '\177' /* serves as ^ */
19: #define RIGHT '\n' /* serves as record separator and as $ */
20:
21: typedef struct State
22: {
23: struct State *gotofn[NCHARS];
24: int out;
25: } State;
26: extern State states[];
27: State *nxtst();
28: extern int state[];
29: extern int line;
30: extern int name[];
31: extern int left[];
32: extern int right[];
33: extern int parent[];
34: extern int foll[];
35: extern int positions[];
36: extern char chars[];
37: extern int nxtpos;
38: extern int nxtfoll;
39: extern int inxtpos;
40: extern int nxtfoll;
41: extern int nxtchar;
42: extern int tmpstat[];
43: extern State *istat;
44: extern int nstate;
45: extern int xstate;
46: extern int count;
47: extern char *input;
48: extern char *progname;
49:
50: extern char reinit;
51:
52: extern int begout;
53: extern int begcnt;
54: extern int begstat[];
55:
56: extern int colpos[];
57: extern int cntpos;
58:
59: extern long lnum;
60: extern int bflag;
61: extern int cflag;
62: extern int fflag;
63: extern int hflag;
64: extern int iflag;
65: extern int lflag;
66: extern int nflag;
67: extern int sflag;
68: extern int vflag;
69: extern int nfile;
70: extern long tln;
71: extern int nsucc;
72: extern int badbotch;
73:
74: extern int expfile;
75:
76: extern int bmegrep;
77: extern int scanexit;
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.