1: #define INTERDATA 2
2: #define GCOS 3
3: #define PDP11 4
4: #define IBM 5
5: #define CMACH 6
6: #define VAX 7
7:
8: #define DMR 2
9: #define SCJ 3
10:
11: #define BINARY 2
12: #define ASCII 3
13:
14: #define PREFIX 2
15: #define POSTFIX 3
16:
17: #ifndef FAMILY
18: FAMILY NOT DEFINED !!!
19: Family = FAMILY
20: #endif
21:
22: #ifndef HERE
23: HERE NOT DEFINED !!!!
24: Here = HERE
25: #endif
26:
27: #ifndef OUTPUT
28: OUTPUT NOT DEFINED!!!!
29: Output = OUTPUT
30: #endif
31:
32: #ifndef POLISH
33: POLISH NOT DEFINED !!!
34: Polish = POLISH
35: #endif
36:
37: #define M(x) (1<<x)
38: #define ALLOC(x) (struct x *) ckalloc(sizeof(struct x))
39: typedef int *ptr;
40: typedef FILE *FILEP;
41: typedef short flag;
42: typedef long int ftnint;
43: #define LOCAL static
44:
45: #define NO 0
46: #define YES 1
47:
48:
49:
50: /* block tag values */
51:
52: #define TNAME 1
53: #define TCONST 2
54: #define TEXPR 3
55: #define TADDR 4
56: #define TPRIM 5
57: #define TLIST 6
58: #define TIMPLDO 7
59: #define TERROR 8
60:
61:
62: /* parser states */
63:
64: #define OUTSIDE 0
65: #define INSIDE 1
66: #define INDCL 2
67: #define INDATA 3
68: #define INEXEC 4
69:
70: /* procedure classes */
71:
72: #define PROCMAIN 1
73: #define PROCBLOCK 2
74: #define PROCSUBR 3
75: #define PROCFUNCT 4
76:
77:
78: /* storage classes */
79:
80: #define STGUNKNOWN 0
81: #define STGARG 1
82: #define STGAUTO 2
83: #define STGBSS 3
84: #define STGINIT 4
85: #define STGCONST 5
86: #define STGEXT 6
87: #define STGINTR 7
88: #define STGSTFUNCT 8
89: #define STGCOMMON 9
90: #define STGEQUIV 10
91: #define STGREG 11
92: #define STGLENG 12
93:
94: /* name classes */
95:
96: #define CLUNKNOWN 0
97: #define CLPARAM 1
98: #define CLVAR 2
99: #define CLENTRY 3
100: #define CLMAIN 4
101: #define CLBLOCK 5
102: #define CLPROC 6
103:
104:
105: /* vproclass values */
106:
107: #define PUNKNOWN 0
108: #define PEXTERNAL 1
109: #define PINTRINSIC 2
110: #define PSTFUNCT 3
111: #define PTHISPROC 4
112:
113: /* control stack codes */
114:
115: #define CTLDO 1
116: #define CTLIF 2
117: #define CTLELSE 3
118:
119:
120: /* operators */
121:
122: #define OPPLUS 1
123: #define OPMINUS 2
124: #define OPSTAR 3
125: #define OPSLASH 4
126: #define OPPOWER 5
127: #define OPNEG 6
128: #define OPOR 7
129: #define OPAND 8
130: #define OPEQV 9
131: #define OPNEQV 10
132: #define OPNOT 11
133: #define OPCONCAT 12
134: #define OPLT 13
135: #define OPEQ 14
136: #define OPGT 15
137: #define OPLE 16
138: #define OPNE 17
139: #define OPGE 18
140: #define OPCALL 19
141: #define OPCCALL 20
142: #define OPASSIGN 21
143: #define OPPLUSEQ 22
144: #define OPSTAREQ 23
145: #define OPCONV 24
146: #define OPLSHIFT 25
147: #define OPMOD 26
148: #define OPCOMMA 27
149: #define OPQUEST 28
150: #define OPCOLON 29
151: #define OPABS 30
152: #define OPMIN 31
153: #define OPMAX 32
154: #define OPADDR 33
155: #define OPINDIRECT 34
156: #define OPBITOR 35
157: #define OPBITAND 36
158: #define OPBITXOR 37
159: #define OPBITNOT 38
160: #define OPRSHIFT 39
161:
162:
163: /* memory regions */
164:
165: #define REGARG 1
166: #define REGAUTO 2
167: #define REGBSS 3
168: #define REGINIT 4
169: #define REGCONST 5
170: #define REGEXT 6
171: #define REGPROG 7
172:
173: /* label type codes */
174:
175: #define LABUNKNOWN 0
176: #define LABEXEC 1
177: #define LABFORMAT 2
178: #define LABOTHER 3
179:
180:
181: /* INTRINSIC function codes*/
182: /*! comments added WFJolitz 8 april 80 */
183:
184: #define INTREND 0 /* end of intrtab (marker)--unused! */
185: #define INTRCONV 1 /* intrinsic conversion ---checks for constant folding */
186: #define INTRMIN 2 /* min,max functions generated internally */
187: #define INTRMAX 3
188: #define INTRGEN 4 /* generic, select one of many by argument type */
189: #define INTRSPEC 5 /* specific, check type and generate a call */
190: #define INTRBOOL 6 /* generate internal code for boolean operators */
191: #define INTRCNST 7 /* generate intrinsic constant (like pi in algol) --unused */
192:
193:
194: /* I/O statement codes */
195:
196: #define IOSTDIN ICON(5)
197: #define IOSTDOUT ICON(6)
198:
199: #define IOSBAD (-1)
200: #define IOSPOSITIONAL 0
201: #define IOSUNIT 1
202: #define IOSFMT 2
203:
204: #define IOINQUIRE 1
205: #define IOOPEN 2
206: #define IOCLOSE 3
207: #define IOREWIND 4
208: #define IOBACKSPACE 5
209: #define IOENDFILE 6
210: #define IOREAD 7
211: #define IOWRITE 8
212:
213:
214: /* type masks */
215:
216: #define MSKLOGICAL M(TYLOGICAL)
217: #define MSKADDR M(TYADDR)
218: #define MSKCHAR M(TYCHAR)
219: #define MSKINT M(TYSHORT)|M(TYLONG)
220: #define MSKREAL M(TYREAL)|M(TYDREAL)
221: #define MSKCOMPLEX M(TYCOMPLEX)|M(TYDCOMPLEX)
222:
223: /* miscellaneous macros */
224:
225: #define ONEOF(x,y) (M(x) & (y))
226: #define ISCOMPLEX(z) ONEOF(z, MSKCOMPLEX)
227: #define ISREAL(z) ONEOF(z, MSKREAL)
228: #define ISNUMERIC(z) ONEOF(z, MSKINT|MSKREAL|MSKCOMPLEX)
229: #define ISICON(z) (z->tag==TCONST && ISINT(z->vtype))
230: #define ISCHAR(z) (z->vtype==TYCHAR)
231: #define ISINT(z) ONEOF(z, MSKINT)
232: #define ISCONST(z) (z->tag==TCONST)
233: #define ISERROR(z) (z->tag==TERROR)
234: #define ISPLUSOP(z) (z->tag==TEXPR && z->opcode==OPPLUS)
235: #define ISSTAROP(z) (z->tag==TEXPR && z->opcode==OPSTAR)
236: #define ISONE(z) (ISICON(z) && z->const.ci==1)
237: #define INT(z) ONEOF(z, MSKINT|MSKCHAR)
238: #define ICON(z) mkintcon( (ftnint)(z) )
239: #define CHCON(z) mkstrcon(strlen(z), z)
240:
241: /* round a up to a multiple of b */
242: #define roundup(a,b) ( b * ( (a+b-1)/b) )
Defined typedef's
flag
defined in line
41; used 45 times
ftnint
defined in line
42; used 84 times
- in line 238
- in /usr/src/usr.bin/f77/data.c line
13,
55,
65,
193,
199
- in /usr/src/usr.bin/f77/defs line
71,
84,
92-93(2),
108,
153-154(2),
169,
262,
342-343(2),
409,
432
- in /usr/src/usr.bin/f77/driver.c line
990,
1003-1008(4),
1087-1089(2),
1106-1110(3),
1142
- in /usr/src/usr.bin/f77/equiv.c line
4,
14,
143-146(2),
206
- in /usr/src/usr.bin/f77/expr.c line
31,
1872
- in /usr/src/usr.bin/f77/gram.head line
14-22(3),
91,
107-109(2),
116
- in /usr/src/usr.bin/f77/init.c line
44,
63-69(3),
94,
216-222(4),
231
- in /usr/src/usr.bin/f77/io.c line
204
- in /usr/src/usr.bin/f77/lex.c line
24,
52,
86
- in /usr/src/usr.bin/f77/misc.c line
34,
205-209(2),
217,
294,
431-438(4),
462
- in /usr/src/usr.bin/f77/pdp11.c line
99,
113,
262,
272
- in /usr/src/usr.bin/f77/pdp11x.c line
35
- in /usr/src/usr.bin/f77/proc.c line
119,
307,
313,
393,
452-455(2),
478,
553,
591
- in /usr/src/usr.bin/f77/put.c line
278
- in /usr/src/usr.bin/f77/putdmr.c line
493
ptr
defined in line
39; used 16 times
Defined macros
ALLOC
defined in line
38; used 20 times
- in /usr/src/usr.bin/f77/data.c line
103
- in /usr/src/usr.bin/f77/expr.c line
11,
139,
802,
890,
1144,
1175,
1208,
1509,
1699
- in /usr/src/usr.bin/f77/lex.c line
123
- in /usr/src/usr.bin/f77/misc.c line
97,
115,
284,
382,
584
- in /usr/src/usr.bin/f77/proc.c line
72,
146,
566
- in /usr/src/usr.bin/f77/put.c line
143
ASCII
defined in line
12;
never used
CLPROC
defined in line
102; used 29 times
- in /usr/src/usr.bin/f77/exec.c line
169,
529-531(2)
- in /usr/src/usr.bin/f77/expr.c line
634,
693,
719,
1128,
1146,
1248,
1276,
1285
- in /usr/src/usr.bin/f77/gram.head line
107-111(3)
- in /usr/src/usr.bin/f77/intr.c line
554
- in /usr/src/usr.bin/f77/misc.c line
385
- in /usr/src/usr.bin/f77/pdp11.c line
376
- in /usr/src/usr.bin/f77/proc.c line
110,
135-137(2),
155,
174,
367,
416,
774,
791-792(2)
- in /usr/src/usr.bin/f77/putdmr.c line
958,
1070
CLVAR
defined in line
98; used 12 times
CMACH
defined in line
5;
never used
DMR
defined in line
8; used 8 times
GCOS
defined in line
2; used 2 times
IBM
defined in line
4;
never used
ICON
defined in line
238; used 69 times
- in line 196-197(2)
- in /usr/src/usr.bin/f77/data.c line
224
- in /usr/src/usr.bin/f77/equiv.c line
43-48(2)
- in /usr/src/usr.bin/f77/exec.c line
236,
330,
366,
405,
439,
521
- in /usr/src/usr.bin/f77/expr.c line
97,
172,
181,
665,
895,
916,
1016,
1050,
1056,
1098-1102(2),
1112,
1153,
1354,
1751,
2122-2124(2),
2135
- in /usr/src/usr.bin/f77/intr.c line
609
- in /usr/src/usr.bin/f77/io.c line
320,
468-470(2),
477,
506,
516-521(2),
536-537(2),
557,
585,
591-596(2),
622,
658,
700,
782,
794,
815
- in /usr/src/usr.bin/f77/proc.c line
180,
570,
576-578(2),
696,
825,
838,
846,
864,
870
- in /usr/src/usr.bin/f77/put.c line
125,
150
- in /usr/src/usr.bin/f77/putdmr.c line
804,
878,
902,
940-942(2),
973,
990,
1071
INDCL
defined in line
66;
never used
INT
defined in line
237; used 1 times
ISCOMPLEX
defined in line
226; used 28 times
- in /usr/src/usr.bin/f77/expr.c line
448(2),
461,
474,
497,
1591(2)
- in /usr/src/usr.bin/f77/intr.c line
426
- in /usr/src/usr.bin/f77/io.c line
504
- in /usr/src/usr.bin/f77/pdp11.c line
359
- in /usr/src/usr.bin/f77/proc.c line
336
- in /usr/src/usr.bin/f77/put.c line
107,
121
- in /usr/src/usr.bin/f77/putdmr.c line
243,
255(2),
265(2),
292,
298-300(2),
372,
569,
610,
625,
723,
1083,
1107
ISCONST
defined in line
232; used 38 times
- in /usr/src/usr.bin/f77/data.c line
29,
139
- in /usr/src/usr.bin/f77/exec.c line
222,
339-344(2),
359(2),
378,
389
- in /usr/src/usr.bin/f77/expr.c line
114(2),
163,
419-422(3),
446,
471-472(2),
494-495(2),
1252,
1338,
1390,
1401,
1456-1459(2),
2075,
2152
- in /usr/src/usr.bin/f77/intr.c line
394,
431(2)
- in /usr/src/usr.bin/f77/io.c line
513
- in /usr/src/usr.bin/f77/pdp11.c line
378
- in /usr/src/usr.bin/f77/proc.c line
501,
848,
875
- in /usr/src/usr.bin/f77/put.c line
140
- in /usr/src/usr.bin/f77/putdmr.c line
1062
ISICON
defined in line
229; used 31 times
- in line 236
- in /usr/src/usr.bin/f77/data.c line
19,
81,
88,
97,
155
- in /usr/src/usr.bin/f77/equiv.c line
49
- in /usr/src/usr.bin/f77/expr.c line
1076-1080(2),
1096,
1306,
1341,
1362,
1374-1378(2),
1408-1412(2),
2116
- in /usr/src/usr.bin/f77/io.c line
254,
260,
645
- in /usr/src/usr.bin/f77/proc.c line
421-423(2),
461-465(2),
557,
599
- in /usr/src/usr.bin/f77/putdmr.c line
497,
801,
966,
1076
ISINT
defined in line
231; used 30 times
- in line 229
- in /usr/src/usr.bin/f77/exec.c line
228,
554
- in /usr/src/usr.bin/f77/expr.c line
117-120(2),
170,
1616-1621(2),
1762,
1807,
1831,
1898,
2008,
2121,
2128,
2150
- in /usr/src/usr.bin/f77/io.c line
266,
575,
614,
636,
682,
695,
715,
763
- in /usr/src/usr.bin/f77/pdp11.c line
190
- in /usr/src/usr.bin/f77/put.c line
128
- in /usr/src/usr.bin/f77/putdmr.c line
170,
687,
694,
714
LOCAL
defined in line
43; used 105 times
- in /usr/src/usr.bin/f77/data.c line
191
- in /usr/src/usr.bin/f77/driver.c line
840,
984-986(3)
- in /usr/src/usr.bin/f77/equiv.c line
140,
204,
237,
254
- in /usr/src/usr.bin/f77/exec.c line
74,
88,
97,
516
- in /usr/src/usr.bin/f77/expr.c line
771,
1298,
1653,
1869,
1925,
2105,
2184
- in /usr/src/usr.bin/f77/intr.c line
52,
207
- in /usr/src/usr.bin/f77/io.c line
30-39(9),
49,
435,
495,
547,
678,
711,
726,
758,
774,
789,
803,
820
- in /usr/src/usr.bin/f77/lex.c line
23-41(17),
55-60(6),
139,
224,
270,
365,
486,
547,
592,
836,
853
- in /usr/src/usr.bin/f77/main.c line
149,
162
- in /usr/src/usr.bin/f77/proc.c line
170,
212,
250,
286,
376,
387,
471,
516
- in /usr/src/usr.bin/f77/putdmr.c line
348,
488,
543,
559,
582,
595,
746,
770,
821,
834,
861,
887,
910,
921,
949,
1034,
1149,
1195,
1262,
1274
M
defined in line
37; used 51 times
NO
defined in line
45; used 97 times
- in /usr/src/usr.bin/f77/data.c line
123,
142
- in /usr/src/usr.bin/f77/driver.c line
58-67(9),
169,
206,
592,
669-671(2),
739,
858,
947,
1010,
1125,
1131,
1149
- in /usr/src/usr.bin/f77/equiv.c line
93
- in /usr/src/usr.bin/f77/exec.c line
453
- in /usr/src/usr.bin/f77/expr.c line
263,
954-956(2),
984,
997
- in /usr/src/usr.bin/f77/gram.head line
17-18(2),
56,
64-73(4)
- in /usr/src/usr.bin/f77/init.c line
19-28(8),
36,
144-147(3),
157,
207
- in /usr/src/usr.bin/f77/io.c line
244,
251,
572,
617
- in /usr/src/usr.bin/f77/lex.c line
72,
154,
282,
759-761(3),
782
- in /usr/src/usr.bin/f77/main.c line
35,
78,
138-140(2)
- in /usr/src/usr.bin/f77/misc.c line
22,
311-313(3),
351-355(2),
626,
645
- in /usr/src/usr.bin/f77/proc.c line
31,
429,
487
- in /usr/src/usr.bin/f77/putdmr.c line
305,
448-449(2),
533,
574,
589-590(2),
628,
763,
827,
846,
852,
873,
903,
1093-1094(2),
1118-1123(2),
1134,
1186
ONEOF
defined in line
225; used 21 times
OPEQ
defined in line
135; used 5 times
OPGE
defined in line
139; used 5 times
OPGT
defined in line
136; used 2 times
OPLE
defined in line
137; used 8 times
OPLT
defined in line
134; used 4 times
OPNE
defined in line
138; used 2 times
OPOR
defined in line
128; used 3 times
OPSTAR
defined in line
124; used 26 times
- in line 235
- in /usr/src/usr.bin/f77/expr.c line
665,
1039,
1051,
1376-1377(2),
1384,
1907-1914(3)
- in /usr/src/usr.bin/f77/intr.c line
618
- in /usr/src/usr.bin/f77/io.c line
506
- in /usr/src/usr.bin/f77/proc.c line
858,
872
- in /usr/src/usr.bin/f77/putdmr.c line
513,
530-531(2),
689-690(2),
696-705(6),
973
PDP11
defined in line
3; used 20 times
- in /usr/src/usr.bin/f77/driver.c line
42,
50,
94,
197,
246,
327,
442,
485-490(2),
498(2),
532
- in /usr/src/usr.bin/f77/expr.c line
169
- in /usr/src/usr.bin/f77/init.c line
166
- in /usr/src/usr.bin/f77/locdefs line
4
- in /usr/src/usr.bin/f77/pdp11.c line
120-124(2)
- in /usr/src/usr.bin/f77/proc.c line
265,
573
- in /usr/src/usr.bin/f77/putdmr.c line
39
SCJ
defined in line
9; used 18 times
STGARG
defined in line
81; used 13 times
STGEXT
defined in line
86; used 10 times
TADDR
defined in line
55; used 16 times
- in /usr/src/usr.bin/f77/expr.c line
400,
806,
891,
1086,
1145,
1176
- in /usr/src/usr.bin/f77/io.c line
266,
469,
809
- in /usr/src/usr.bin/f77/misc.c line
383,
614
- in /usr/src/usr.bin/f77/proc.c line
567
- in /usr/src/usr.bin/f77/put.c line
144
- in /usr/src/usr.bin/f77/putdmr.c line
115,
440,
1105
TEXPR
defined in line
54; used 15 times
- in line 234-235(2)
- in /usr/src/usr.bin/f77/expr.c line
395,
508,
517,
1427,
1436,
1510
- in /usr/src/usr.bin/f77/misc.c line
616
- in /usr/src/usr.bin/f77/putdmr.c line
361,
372,
455,
840,
913,
929
TLIST
defined in line
57; used 1 times
TNAME
defined in line
52; used 3 times
TPRIM
defined in line
56; used 11 times
VAX
defined in line
6; used 9 times
YES
defined in line
46; used 81 times
- in /usr/src/usr.bin/f77/data.c line
42,
102,
130,
308
- in /usr/src/usr.bin/f77/driver.c line
59,
146,
162-166(2),
173-181(3),
199,
205,
260,
275,
290,
301,
313-315(2),
324,
332,
588,
673,
745,
949,
1047,
1069,
1136,
1153
- in /usr/src/usr.bin/f77/equiv.c line
102
- in /usr/src/usr.bin/f77/exec.c line
106,
296
- in /usr/src/usr.bin/f77/expr.c line
958,
982,
994,
1264
- in /usr/src/usr.bin/f77/gram.head line
93,
153
- in /usr/src/usr.bin/f77/init.c line
23-25(2)
- in /usr/src/usr.bin/f77/intr.c line
465
- in /usr/src/usr.bin/f77/io.c line
221,
274,
280,
305,
579,
612
- in /usr/src/usr.bin/f77/lex.c line
172,
288,
309,
769-775(3)
- in /usr/src/usr.bin/f77/main.c line
27-31(2),
39-43(2),
58-70(4),
82,
142
- in /usr/src/usr.bin/f77/misc.c line
23,
615,
639
- in /usr/src/usr.bin/f77/proc.c line
112,
319,
359,
617
- in /usr/src/usr.bin/f77/putdmr.c line
38,
117,
338,
828,
844-845(2),
869-870(2),
1048,
1089,
1119
Usage of this include