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 46 times
ftnint
defined in line
42; used 85 times
- in line 238
- in /usr/src/cmd/f77/data.c line
13,
55,
65,
193,
199
- in /usr/src/cmd/f77/defs line
88,
101,
109-110(2),
125,
170-171(2),
186,
279,
359-360(2),
426,
449
- in /usr/src/cmd/f77/driver.c line
1007,
1020-1025(4),
1103-1105(2),
1122-1126(3),
1158
- in /usr/src/cmd/f77/equiv.c line
13,
142-145(2),
205
- in /usr/src/cmd/f77/expr.c line
31,
1872
- in /usr/src/cmd/f77/gram.c line
112-120(3),
753,
770-773(2),
782,
959,
1070
- in /usr/src/cmd/f77/init.c line
44,
63-69(3),
94,
216-222(4),
231
- in /usr/src/cmd/f77/io.c line
204
- in /usr/src/cmd/f77/lex.c line
24,
52,
86
- in /usr/src/cmd/f77/misc.c line
34,
205-209(2),
217,
294,
431-438(4),
462
- in /usr/src/cmd/f77/pdp11.c line
92,
106,
238,
248
- in /usr/src/cmd/f77/pdp11x.c line
35
- in /usr/src/cmd/f77/proc.c line
119,
307,
313,
393,
452-455(2),
478,
553,
591
- in /usr/src/cmd/f77/put.c line
278
- in /usr/src/cmd/f77/putdmr.c line
478
ptr
defined in line
39; used 17 times
Defined macros
ALLOC
defined in line
38; used 23 times
- in /usr/src/cmd/f77/data.c line
103
- in /usr/src/cmd/f77/expr.c line
11,
139,
802,
890,
1144,
1175,
1208,
1509,
1699
- in /usr/src/cmd/f77/gram.c line
940-943(2),
1022
- in /usr/src/cmd/f77/lex.c line
123
- in /usr/src/cmd/f77/misc.c line
97,
115,
284,
382,
584
- in /usr/src/cmd/f77/proc.c line
72,
146,
566
- in /usr/src/cmd/f77/put.c line
143
ASCII
defined in line
12;
never used
CLPROC
defined in line
102; used 29 times
- in /usr/src/cmd/f77/exec.c line
169,
529-531(2)
- in /usr/src/cmd/f77/expr.c line
634,
693,
719,
1128,
1146,
1248,
1276,
1285
- in /usr/src/cmd/f77/gram.c line
770-776(3)
- in /usr/src/cmd/f77/intr.c line
552
- in /usr/src/cmd/f77/misc.c line
385
- in /usr/src/cmd/f77/pdp11.c line
340
- in /usr/src/cmd/f77/proc.c line
110,
135-137(2),
155,
174,
367,
416,
774,
791-792(2)
- in /usr/src/cmd/f77/putdmr.c line
943,
1055
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/cmd/f77/data.c line
224
- in /usr/src/cmd/f77/equiv.c line
42-47(2)
- in /usr/src/cmd/f77/exec.c line
236,
330,
366,
405,
439,
521
- in /usr/src/cmd/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/cmd/f77/intr.c line
607
- in /usr/src/cmd/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/cmd/f77/proc.c line
180,
570,
576-578(2),
696,
825,
838,
846,
864,
870
- in /usr/src/cmd/f77/put.c line
125,
150
- in /usr/src/cmd/f77/putdmr.c line
789,
863,
887,
925-927(2),
958,
975,
1056
INDCL
defined in line
66; used 1 times
INT
defined in line
237; used 1 times
IOSUNIT
defined in line
201; used 14 times
- in /usr/src/cmd/f77/gram.c line
1389,
1444,
1451,
1457,
1480,
1500,
1508
- in /usr/src/cmd/f77/io.c line
397,
412,
573,
682,
715,
729,
763
ISCOMPLEX
defined in line
226; used 28 times
- in /usr/src/cmd/f77/expr.c line
448(2),
461,
474,
497,
1591(2)
- in /usr/src/cmd/f77/intr.c line
424
- in /usr/src/cmd/f77/io.c line
504
- in /usr/src/cmd/f77/pdp11.c line
323
- in /usr/src/cmd/f77/proc.c line
336
- in /usr/src/cmd/f77/put.c line
107,
121
- in /usr/src/cmd/f77/putdmr.c line
228,
240(2),
250(2),
277,
283-285(2),
357,
554,
595,
610,
708,
1068,
1092
ISCONST
defined in line
232; used 39 times
- in /usr/src/cmd/f77/data.c line
29,
139
- in /usr/src/cmd/f77/exec.c line
222,
339-344(2),
359(2),
378,
389
- in /usr/src/cmd/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/cmd/f77/gram.c line
979
- in /usr/src/cmd/f77/intr.c line
392,
429(2)
- in /usr/src/cmd/f77/io.c line
513
- in /usr/src/cmd/f77/pdp11.c line
342
- in /usr/src/cmd/f77/proc.c line
501,
848,
875
- in /usr/src/cmd/f77/put.c line
140
- in /usr/src/cmd/f77/putdmr.c line
1047
ISICON
defined in line
229; used 32 times
- in line 236
- in /usr/src/cmd/f77/data.c line
19,
81,
88,
97,
155
- in /usr/src/cmd/f77/equiv.c line
48
- in /usr/src/cmd/f77/expr.c line
1076-1080(2),
1096,
1306,
1341,
1362,
1374-1378(2),
1408-1412(2),
2116
- in /usr/src/cmd/f77/gram.c line
886
- in /usr/src/cmd/f77/io.c line
254,
260,
645
- in /usr/src/cmd/f77/proc.c line
421-423(2),
461-465(2),
557,
599
- in /usr/src/cmd/f77/putdmr.c line
482,
786,
951,
1061
ISINT
defined in line
231; used 30 times
- in line 229
- in /usr/src/cmd/f77/exec.c line
228,
554
- in /usr/src/cmd/f77/expr.c line
117-120(2),
170,
1616-1621(2),
1762,
1807,
1831,
1898,
2008,
2121,
2128,
2150
- in /usr/src/cmd/f77/io.c line
266,
575,
614,
636,
682,
695,
715,
763
- in /usr/src/cmd/f77/pdp11.c line
177
- in /usr/src/cmd/f77/put.c line
128
- in /usr/src/cmd/f77/putdmr.c line
155,
672,
679,
699
LOCAL
defined in line
43; used 105 times
- in /usr/src/cmd/f77/data.c line
191
- in /usr/src/cmd/f77/driver.c line
858,
1001-1003(3)
- in /usr/src/cmd/f77/equiv.c line
139,
203,
236,
253
- in /usr/src/cmd/f77/exec.c line
74,
88,
97,
516
- in /usr/src/cmd/f77/expr.c line
771,
1298,
1653,
1869,
1925,
2105,
2184
- in /usr/src/cmd/f77/intr.c line
52,
205
- in /usr/src/cmd/f77/io.c line
30-39(9),
49,
435,
495,
547,
678,
711,
726,
758,
774,
789,
803,
820
- in /usr/src/cmd/f77/lex.c line
23-41(17),
55-60(6),
139,
224,
270,
365,
486,
547,
592,
836,
853
- in /usr/src/cmd/f77/main.c line
149,
162
- in /usr/src/cmd/f77/proc.c line
170,
212,
250,
286,
376,
387,
471,
516
- in /usr/src/cmd/f77/putdmr.c line
333,
473,
528,
544,
567,
580,
731,
755,
806,
819,
846,
872,
895,
906,
934,
1019,
1134,
1180,
1247,
1259
M
defined in line
37; used 54 times
NO
defined in line
45; used 103 times
- in /usr/src/cmd/f77/data.c line
123,
142
- in /usr/src/cmd/f77/driver.c line
62-73(10),
176,
213,
610,
687-689(2),
757,
876,
965,
1027,
1141,
1147,
1165
- in /usr/src/cmd/f77/equiv.c line
92
- in /usr/src/cmd/f77/exec.c line
453
- in /usr/src/cmd/f77/expr.c line
263,
954-956(2),
984,
997
- in /usr/src/cmd/f77/gram.c line
115-116(2),
715,
723,
730,
736(2),
970,
1071,
1271,
1295,
1383
- in /usr/src/cmd/f77/init.c line
19-28(8),
36,
144-147(3),
157,
207
- in /usr/src/cmd/f77/io.c line
244,
251,
572,
617
- in /usr/src/cmd/f77/lex.c line
72,
154,
282,
759-761(3),
782
- in /usr/src/cmd/f77/main.c line
35,
78,
138-140(2)
- in /usr/src/cmd/f77/misc.c line
22,
311-313(3),
351-355(2),
626,
645
- in /usr/src/cmd/f77/proc.c line
31,
429,
487
- in /usr/src/cmd/f77/putdmr.c line
290,
433-434(2),
518,
559,
574-575(2),
613,
748,
812,
831,
837,
858,
888,
1078-1079(2),
1103-1108(2),
1119,
1171
ONEOF
defined in line
225; used 22 times
OPEQ
defined in line
135; used 6 times
OPGE
defined in line
139; used 6 times
OPGT
defined in line
136; used 3 times
OPLE
defined in line
137; used 9 times
OPLT
defined in line
134; used 5 times
OPNE
defined in line
138; used 3 times
OPNEG
defined in line
127; used 10 times
OPOR
defined in line
128; used 4 times
OPSTAR
defined in line
124; used 28 times
- in line 235
- in /usr/src/cmd/f77/expr.c line
665,
1039,
1051,
1376-1377(2),
1384,
1907-1914(3)
- in /usr/src/cmd/f77/gram.c line
1129,
1245
- in /usr/src/cmd/f77/intr.c line
616
- in /usr/src/cmd/f77/io.c line
506
- in /usr/src/cmd/f77/proc.c line
858,
872
- in /usr/src/cmd/f77/putdmr.c line
498,
515-516(2),
674-675(2),
681-690(6),
958
PDP11
defined in line
3; used 21 times
- in /usr/src/cmd/f77/driver.c line
3,
46,
54,
101,
204,
261,
341,
461,
499-504(2),
512(2),
551
- in /usr/src/cmd/f77/expr.c line
169
- in /usr/src/cmd/f77/init.c line
166
- in /usr/src/cmd/f77/locdefs line
4
- in /usr/src/cmd/f77/pdp11.c line
113-117(2)
- in /usr/src/cmd/f77/proc.c line
265,
573
- in /usr/src/cmd/f77/putdmr.c line
24
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/cmd/f77/expr.c line
400,
806,
891,
1086,
1145,
1176
- in /usr/src/cmd/f77/io.c line
266,
469,
809
- in /usr/src/cmd/f77/misc.c line
383,
614
- in /usr/src/cmd/f77/proc.c line
567
- in /usr/src/cmd/f77/put.c line
144
- in /usr/src/cmd/f77/putdmr.c line
100,
425,
1090
TEXPR
defined in line
54; used 15 times
- in line 234-235(2)
- in /usr/src/cmd/f77/expr.c line
395,
508,
517,
1427,
1436,
1510
- in /usr/src/cmd/f77/misc.c line
616
- in /usr/src/cmd/f77/putdmr.c line
346,
357,
440,
825,
898,
914
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 91 times
- in /usr/src/cmd/f77/data.c line
42,
102,
130,
308
- in /usr/src/cmd/f77/driver.c line
63,
153,
169-173(2),
180-188(3),
206,
212,
275,
289,
304,
315,
327-329(2),
338,
346,
606,
691,
763,
967,
1063,
1085,
1152,
1169
- in /usr/src/cmd/f77/equiv.c line
101
- in /usr/src/cmd/f77/exec.c line
106,
296
- in /usr/src/cmd/f77/expr.c line
958,
982,
994,
1264
- in /usr/src/cmd/f77/gram.c line
755,
816,
827,
1012-1014(2),
1073,
1298,
1314,
1328-1334(3),
1380
- in /usr/src/cmd/f77/init.c line
23-25(2)
- in /usr/src/cmd/f77/intr.c line
463
- in /usr/src/cmd/f77/io.c line
221,
274,
280,
305,
579,
612
- in /usr/src/cmd/f77/lex.c line
172,
288,
309,
769-775(3)
- in /usr/src/cmd/f77/main.c line
27-31(2),
39-43(2),
58-70(4),
82,
142
- in /usr/src/cmd/f77/misc.c line
23,
615,
639
- in /usr/src/cmd/f77/proc.c line
112,
319,
359,
617
- in /usr/src/cmd/f77/putdmr.c line
23,
102,
323,
813,
829-830(2),
854-855(2),
1033,
1074,
1104
Usage of this include