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