|
|
1.1 root 1: # include <stdio.h>
2: # define PP 1
3: # ifdef unix
4:
5: # define CWIDTH 7
6: # define CMASK 0177
7: # define ASCII 1
8: # endif
9:
10: # ifdef gcos
11: # define CWIDTH 9
12: # define CMASK 0777
13: # define ASCII 1
14: # endif
15:
16: # ifdef ibm
17: # define CWIDTH 8
18: # define CMASK 0377
19: # define EBCDIC 1
20: # endif
21:
22: # ifdef ASCII
23: # define NCH 128
24: # endif
25:
26: # ifdef EBCDIC
27: # define NCH 256
28: # endif
29:
30:
31: # define TOKENSIZE 1000
32: # define DEFSIZE 40
33: # define DEFCHAR 1000
34: # define STARTCHAR 100
35: # define STARTSIZE 256
36: # define CCLSIZE 1000
37: # ifdef SMALL
38: # define TREESIZE 600
39: # define NTRANS 1500
40: # define NSTATES 300
41: # define MAXPOS 1500
42: # define NOUTPUT 1500
43: # endif
44:
45: # ifndef SMALL
46: # define TREESIZE 1000
47: # define NSTATES 500
48: # define MAXPOS 2500
49: # define NTRANS 2000
50: # define NOUTPUT 3000
51: # endif
52: # define NACTIONS 100
53: # define ALITTLEEXTRA 30
54:
55: # define RCCL NCH+90
56: # define RNCCL NCH+91
57: # define RSTR NCH+92
58: # define RSCON NCH+93
59: # define RNEWE NCH+94
60: # define FINAL NCH+95
61: # define RNULLS NCH+96
62: # define RCAT NCH+97
63: # define STAR NCH+98
64: # define PLUS NCH+99
65: # define QUEST NCH+100
66: # define DIV NCH+101
67: # define BAR NCH+102
68: # define CARAT NCH+103
69: # define S1FINAL NCH+104
70: # define S2FINAL NCH+105
71:
72: # define DEFSECTION 1
73: # define RULESECTION 2
74: # define ENDSECTION 5
75: # define TRUE 1
76: # define FALSE 0
77:
78: # define PC 1
79: # define PS 1
80:
81: # ifdef DEBUG
82: # define LINESIZE 110
83: extern int yydebug;
84: extern int debug; /* 1 = on */
85: extern int charc;
86: # endif
87:
88: # ifndef DEBUG
89: # define freturn(s) s
90: # endif
91:
92: extern int sargc;
93: extern char **sargv;
94: extern char buf[520];
95: extern int ratfor; /* 1 = ratfor, 0 = C */
96: extern int yyline; /* line number of file */
97: extern int sect;
98: extern int eof;
99: extern int lgatflg;
100: extern int divflg;
101: extern int funcflag;
102: extern int pflag;
103: extern int casecount;
104: extern int chset; /* 1 = char set modified */
105: extern FILE *fin, *fout, *fother, *errorf;
106: extern int fptr;
107: extern char *ratname, *cname;
108: extern int prev; /* previous input character */
109: extern int pres; /* present input character */
110: extern int peek; /* next input character */
111: extern int *name;
112: extern int *left;
113: extern int *right;
114: extern int *parent;
115: extern char *nullstr;
116: extern int tptr;
117: extern char pushc[TOKENSIZE];
118: extern char *pushptr;
119: extern char slist[STARTSIZE];
120: extern char *slptr;
121: extern char **def, **subs, *dchar;
122: extern char **sname, *schar;
123: extern char *ccl;
124: extern char *ccptr;
125: extern char *dp, *sp;
126: extern int dptr, sptr;
127: extern char *bptr; /* store input position */
128: extern char *tmpstat;
129: extern int count;
130: extern int **foll;
131: extern int *nxtpos;
132: extern int *positions;
133: extern int *gotof;
134: extern int *nexts;
135: extern char *nchar;
136: extern int **state;
137: extern int *sfall; /* fallback state num */
138: extern char *cpackflg; /* true if state has been character packed */
139: extern int *atable, aptr;
140: extern int nptr;
141: extern char symbol[NCH];
142: extern char cindex[NCH];
143: extern int xstate;
144: extern int stnum;
145: extern int ctable[];
146: extern int ZCH;
147: extern int ccount;
148: extern char match[NCH];
149: extern char extra[NACTIONS];
150: extern char *pcptr, *pchar;
151: extern int pchlen;
152: extern int nstates, maxpos;
153: extern int yytop;
154: extern int report;
155: extern int ntrans, treesize, outsize;
156: extern long rcount;
157: extern int optim;
158: extern int *verify, *advance, *stoff;
159: extern int scon;
160: extern char *psave;
161: extern char *calloc(), *myalloc();
162: extern int buserr(), segviol();
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.