|
|
1.1 root 1: #include "awk.def"
2: obj nullproc();
3: extern obj program();
4: extern obj boolop();
5: extern obj relop();
6: extern obj array();
7: extern obj indirect();
8: extern obj substr();
9: extern obj sindex();
10: extern obj asprintf();
11: extern obj arith();
12: extern obj incrdecr();
13: extern obj cat();
14: extern obj pastat();
15: extern obj dopa2();
16: extern obj matchop();
17: extern obj aprintf();
18: extern obj print();
19: extern obj split();
20: extern obj assign();
21: extern obj ifstat();
22: extern obj whilestat();
23: extern obj forstat();
24: extern obj instat();
25: extern obj jump();
26: extern obj fncn();
27: extern obj getline();
28: obj (*proctab[76])() = {
29: /*FIRSTTOKEN*/ nullproc,
30: /*FINAL*/ nullproc,
31: /*FATAL*/ nullproc,
32: /*LT*/ relop,
33: /*LE*/ relop,
34: /*GT*/ relop,
35: /*GE*/ relop,
36: /*EQ*/ relop,
37: /*NE*/ relop,
38: /*MATCH*/ matchop,
39: /*NOTMATCH*/ matchop,
40: /*APPEND*/ nullproc,
41: /*ADD*/ arith,
42: /*MINUS*/ arith,
43: /*MULT*/ arith,
44: /*DIVIDE*/ arith,
45: /*MOD*/ arith,
46: /*UMINUS*/ arith,
47: /*ASSIGN*/ assign,
48: /*ADDEQ*/ assign,
49: /*SUBEQ*/ assign,
50: /*MULTEQ*/ assign,
51: /*DIVEQ*/ assign,
52: /*MODEQ*/ assign,
53: /*JUMP*/ nullproc,
54: /*XBEGIN*/ nullproc,
55: /*XEND*/ nullproc,
56: /*NL*/ nullproc,
57: /*PRINT*/ print,
58: /*PRINTF*/ aprintf,
59: /*SPRINTF*/ asprintf,
60: /*SPLIT*/ split,
61: /*IF*/ ifstat,
62: /*ELSE*/ nullproc,
63: /*WHILE*/ whilestat,
64: /*FOR*/ forstat,
65: /*IN*/ instat,
66: /*NEXT*/ jump,
67: /*EXIT*/ jump,
68: /*BREAK*/ jump,
69: /*CONTINUE*/ jump,
70: /*PROGRAM*/ program,
71: /*PASTAT*/ pastat,
72: /*PASTAT2*/ dopa2,
73: /*ASGNOP*/ nullproc,
74: /*BOR*/ boolop,
75: /*AND*/ boolop,
76: /*NOT*/ boolop,
77: /*NUMBER*/ nullproc,
78: /*VAR*/ nullproc,
79: /*ARRAY*/ array,
80: /*FNCN*/ fncn,
81: /*SUBSTR*/ substr,
82: /*LSUBSTR*/ nullproc,
83: /*INDEX*/ sindex,
84: /*GETLINE*/ getline,
85: /*RELOP*/ nullproc,
86: /*MATCHOP*/ nullproc,
87: /*OR*/ nullproc,
88: /*STRING*/ nullproc,
89: /*DOT*/ nullproc,
90: /*CCL*/ nullproc,
91: /*NCCL*/ nullproc,
92: /*CHAR*/ nullproc,
93: /*CAT*/ cat,
94: /*STAR*/ nullproc,
95: /*PLUS*/ nullproc,
96: /*QUEST*/ nullproc,
97: /*POSTINCR*/ incrdecr,
98: /*PREINCR*/ incrdecr,
99: /*POSTDECR*/ incrdecr,
100: /*PREDECR*/ incrdecr,
101: /*INCR*/ nullproc,
102: /*DECR*/ nullproc,
103: /*FIELD*/ nullproc,
104: /*INDIRECT*/ indirect,
105: };
106: char *printname[76] = {
107: /*FIRSTTOKEN*/ "",
108: /*FINAL*/ "",
109: /*FATAL*/ "",
110: /*LT*/ " < ",
111: /*LE*/ " <= ",
112: /*GT*/ " > ",
113: /*GE*/ " >= ",
114: /*EQ*/ " == ",
115: /*NE*/ " != ",
116: /*MATCH*/ " ~ ",
117: /*NOTMATCH*/ " !~ ",
118: /*APPEND*/ "",
119: /*ADD*/ " + ",
120: /*MINUS*/ " - ",
121: /*MULT*/ " * ",
122: /*DIVIDE*/ " / ",
123: /*MOD*/ " % ",
124: /*UMINUS*/ " -",
125: /*ASSIGN*/ " = ",
126: /*ADDEQ*/ " += ",
127: /*SUBEQ*/ " -= ",
128: /*MULTEQ*/ " *= ",
129: /*DIVEQ*/ " /= ",
130: /*MODEQ*/ " %= ",
131: /*JUMP*/ "",
132: /*XBEGIN*/ "",
133: /*XEND*/ "",
134: /*NL*/ "",
135: /*PRINT*/ "print",
136: /*PRINTF*/ "printf",
137: /*SPRINTF*/ "sprintf ",
138: /*SPLIT*/ "split",
139: /*IF*/ "if(",
140: /*ELSE*/ "",
141: /*WHILE*/ "while(",
142: /*FOR*/ "for(",
143: /*IN*/ "instat",
144: /*NEXT*/ "next",
145: /*EXIT*/ "exit",
146: /*BREAK*/ "break",
147: /*CONTINUE*/ "continue",
148: /*PROGRAM*/ "",
149: /*PASTAT*/ "",
150: /*PASTAT2*/ "",
151: /*ASGNOP*/ "",
152: /*BOR*/ " || ",
153: /*AND*/ " && ",
154: /*NOT*/ " !",
155: /*NUMBER*/ "",
156: /*VAR*/ "",
157: /*ARRAY*/ "",
158: /*FNCN*/ "fncn",
159: /*SUBSTR*/ "substr",
160: /*LSUBSTR*/ "",
161: /*INDEX*/ "sindex",
162: /*GETLINE*/ "getline",
163: /*RELOP*/ "",
164: /*MATCHOP*/ "",
165: /*OR*/ "",
166: /*STRING*/ "",
167: /*DOT*/ "",
168: /*CCL*/ "",
169: /*NCCL*/ "",
170: /*CHAR*/ "",
171: /*CAT*/ " ",
172: /*STAR*/ "",
173: /*PLUS*/ "",
174: /*QUEST*/ "",
175: /*POSTINCR*/ "++",
176: /*PREINCR*/ "++",
177: /*POSTDECR*/ "--",
178: /*PREDECR*/ "--",
179: /*INCR*/ "",
180: /*DECR*/ "",
181: /*FIELD*/ "",
182: /*INDIRECT*/ "$(",
183: };
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.