|
|
1.1 root 1: # define CONTIG 257
2: # define QTEXT 258
3: # define SPACE 259
4: # define THIN 260
5: # define TAB 261
6: # define MATRIX 262
7: # define LCOL 263
8: # define CCOL 264
9: # define RCOL 265
10: # define COL 266
11: # define ABOVE 267
12: # define MARK 268
13: # define LINEUP 269
14: # define SUM 270
15: # define INT 271
16: # define PROD 272
17: # define UNION 273
18: # define INTER 274
19: # define DEFINE 275
20: # define TDEFINE 276
21: # define NDEFINE 277
22: # define DELIM 278
23: # define GSIZE 279
24: # define GFONT 280
25: # define INCLUDE 281
26: # define IFDEF 282
27: # define DOTEQ 283
28: # define DOTEN 284
29: # define FROM 285
30: # define TO 286
31: # define OVER 287
32: # define SQRT 288
33: # define SUP 289
34: # define SUB 290
35: # define SIZE 291
36: # define FONT 292
37: # define ROMAN 293
38: # define ITALIC 294
39: # define BOLD 295
40: # define FAT 296
41: # define UP 297
42: # define DOWN 298
43: # define BACK 299
44: # define FWD 300
45: # define LEFT 301
46: # define RIGHT 302
47: # define DOT 303
48: # define DOTDOT 304
49: # define HAT 305
50: # define TILDE 306
51: # define BAR 307
52: # define LOWBAR 308
53: # define HIGHBAR 309
54: # define UNDER 310
55: # define VEC 311
56: # define DYAD 312
57: # define UTILDE 313
58:
59: # line 17 "eqn.y"
60: #include "e.h"
61: #define yyclearin yychar = -1
62: #define yyerrok yyerrflag = 0
63: extern int yychar;
64: extern short yyerrflag;
65: #ifndef YYMAXDEPTH
66: #define YYMAXDEPTH 150
67: #endif
68: #ifndef YYSTYPE
69: #define YYSTYPE int
70: #endif
71: YYSTYPE yylval, yyval;
72: # define YYERRCODE 256
73:
74: # line 138 "eqn.y"
75:
76: short yyexca[] ={
77: -1, 0,
78: 0, 3,
79: -2, 0,
80: -1, 1,
81: 0, -1,
82: -2, 0,
83: };
84: # define YYNPROD 90
85: # define YYLAST 527
86: short yyact[]={
87:
88: 6, 51, 52, 48, 118, 50, 49, 72, 71, 102,
89: 130, 103, 51, 122, 48, 124, 50, 49, 116, 61,
90: 64, 54, 62, 57, 58, 59, 60, 55, 56, 63,
91: 61, 64, 54, 62, 57, 58, 59, 60, 55, 56,
92: 63, 50, 49, 80, 81, 105, 6, 119, 97, 40,
93: 114, 78, 120, 49, 26, 61, 64, 54, 62, 57,
94: 58, 59, 60, 55, 56, 63, 61, 64, 54, 62,
95: 57, 58, 59, 60, 55, 56, 63, 61, 64, 54,
96: 62, 57, 58, 59, 60, 55, 56, 63, 41, 42,
97: 43, 44, 6, 25, 104, 2, 24, 23, 27, 53,
98: 100, 65, 22, 96, 95, 99, 98, 21, 94, 93,
99: 18, 17, 113, 89, 121, 84, 46, 73, 1, 0,
100: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
101: 127, 0, 0, 0, 8, 7, 9, 10, 11, 28,
102: 41, 42, 43, 44, 6, 16, 47, 12, 34, 13,
103: 14, 15, 117, 41, 42, 43, 44, 0, 123, 0,
104: 117, 0, 0, 0, 0, 20, 0, 0, 29, 33,
105: 30, 31, 32, 19, 37, 39, 38, 36, 35, 101,
106: 8, 7, 9, 10, 11, 28, 41, 42, 43, 44,
107: 6, 16, 47, 12, 34, 13, 14, 15, 0, 0,
108: 0, 115, 0, 0, 0, 0, 0, 0, 0, 0,
109: 0, 20, 126, 125, 29, 33, 30, 31, 32, 19,
110: 37, 39, 38, 36, 35, 3, 8, 7, 9, 10,
111: 11, 28, 41, 42, 43, 44, 6, 16, 5, 12,
112: 34, 13, 14, 15, 80, 81, 0, 80, 81, 80,
113: 81, 0, 0, 0, 0, 0, 0, 20, 0, 0,
114: 29, 33, 30, 31, 32, 19, 37, 39, 38, 36,
115: 35, 0, 0, 0, 0, 0, 0, 0, 8, 7,
116: 9, 10, 11, 28, 41, 42, 43, 44, 0, 16,
117: 47, 12, 34, 13, 14, 15, 0, 0, 0, 0,
118: 0, 0, 0, 0, 0, 0, 0, 0, 0, 20,
119: 0, 0, 29, 33, 30, 31, 32, 19, 37, 39,
120: 38, 36, 35, 0, 8, 7, 9, 10, 11, 28,
121: 41, 42, 43, 44, 0, 16, 5, 12, 34, 13,
122: 14, 15, 0, 0, 0, 0, 0, 0, 0, 0,
123: 0, 0, 0, 0, 79, 20, 0, 0, 29, 33,
124: 30, 31, 32, 19, 37, 39, 38, 36, 35, 0,
125: 8, 7, 9, 10, 11, 28, 41, 42, 43, 44,
126: 0, 16, 0, 12, 34, 13, 14, 15, 82, 0,
127: 83, 85, 86, 87, 88, 90, 0, 0, 0, 4,
128: 0, 20, 45, 0, 29, 33, 30, 31, 32, 19,
129: 37, 39, 38, 36, 35, 0, 66, 67, 68, 69,
130: 70, 0, 0, 74, 75, 76, 77, 0, 0, 0,
131: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
132: 0, 0, 0, 0, 0, 0, 0, 91, 92, 0,
133: 0, 0, 0, 0, 0, 0, 112, 0, 0, 0,
134: 0, 0, 0, 0, 0, 45, 0, 0, 0, 0,
135: 0, 0, 0, 45, 0, 0, 0, 0, 0, 0,
136: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
137: 0, 0, 0, 106, 107, 108, 109, 0, 110, 111,
138: 0, 0, 0, 0, 45, 0, 0, 0, 0, 0,
139: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
140: 128, 0, 129, 0, 0, 0, 45 };
141: short yypact[]={
142:
143: -31,-1000, 21,-1000,-284,-1000, 67,-1000,-1000,-1000,
144: -1000,-1000,-1000,-1000,-1000,-1000, 113, 113, 113, 113,
145: 113,-282, 67, 113, 113, 113, 113,-1000,-1000,-214,
146: -1000,-1000,-1000,-214,-1000, -8,-214,-214,-214,-214,
147: -10,-1000,-1000,-1000,-1000,-284,-1000, 113, 113,-1000,
148: -1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,
149: -1000,-1000,-1000,-1000,-1000, -77,-284,-226,-226,-226,
150: -248,-1000,-1000,-123,-226,-226,-226,-226,-114,-1000,
151: -1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000, 67,
152: -1000,-284,-248, 113, 113, 113, 113,-1000, 113, 113,
153: -1000, -13,-175,-107, 21,-119,-237,-248,-273,-284,
154: -237,-248,-1000,-1000,-110,-1000,-1000, 67, 67,-1000,
155: 113,-1000, 113,-1000,-1000,-1000, 21,-115,-248,-284,
156: -1000 };
157: short yypgo[]={
158:
159: 0, 118, 94, 399, 116, 47, 114, 111, 110, 109,
160: 108, 107, 106, 105, 104, 103, 102, 100, 99, 97,
161: 96, 93, 54, 98, 51, 50, 354, 49, 11, 45 };
162: short yyr1[]={
163:
164: 0, 1, 1, 1, 2, 2, 2, 2, 4, 5,
165: 5, 6, 6, 3, 3, 3, 3, 3, 3, 3,
166: 3, 3, 3, 3, 3, 3, 3, 3, 3, 9,
167: 3, 10, 3, 12, 3, 13, 3, 3, 14, 3,
168: 15, 3, 3, 3, 3, 3, 3, 3, 3, 3,
169: 24, 3, 11, 19, 20, 21, 22, 18, 18, 18,
170: 18, 18, 18, 18, 18, 18, 18, 18, 16, 16,
171: 17, 17, 25, 25, 23, 29, 23, 27, 27, 27,
172: 27, 28, 28, 7, 8, 8, 8, 8, 26, 26 };
173: short yyr2[]={
174:
175: 0, 1, 1, 0, 1, 2, 2, 1, 2, 2,
176: 0, 2, 0, 3, 1, 1, 1, 1, 1, 1,
177: 1, 1, 1, 3, 2, 2, 2, 2, 2, 0,
178: 5, 0, 4, 0, 5, 0, 4, 1, 0, 5,
179: 0, 4, 3, 2, 2, 2, 2, 2, 2, 1,
180: 0, 5, 1, 2, 2, 2, 2, 1, 1, 1,
181: 1, 1, 1, 1, 1, 1, 1, 1, 2, 2,
182: 2, 2, 1, 2, 4, 0, 6, 1, 1, 1,
183: 1, 1, 3, 2, 1, 1, 1, 2, 1, 1 };
184: short yychk[]={
185:
186: -1000, -1, -2, 256, -3, 269, 123, 258, 257, 259,
187: 260, 261, 270, 272, 273, 274, 268, -7, -8, 296,
188: 288, -11, -16, -19, -20, -21, -22, -23, 262, 291,
189: 293, 294, 295, 292, 271, 301, 300, 297, 299, 298,
190: -27, 263, 264, 265, 266, -3, -4, 269, 287, 290,
191: 289, 285, 286, -18, 305, 311, 312, 307, 308, 309,
192: 310, 303, 306, 313, 304, -2, -3, -3, -3, -3,
193: -3, 290, 289, -2, -3, -3, -3, -3, -24, -26,
194: 257, 258, -26, -26, 123, -26, -26, -26, -26, 123,
195: -26, -3, -3, -9, -10, -14, -15, 125, -12, -13,
196: -17, 302, 123, -28, -2, -29, -3, -3, -3, -3,
197: -3, -3, -26, 125, -25, -23, 125, 267, 123, -5,
198: 289, -6, 286, -5, 125, -23, -2, -28, -3, -3,
199: 125 };
200: short yydef[]={
201:
202: -2, -2, 1, 2, 4, 7, 0, 14, 15, 16,
203: 17, 18, 19, 20, 21, 22, 0, 0, 0, 0,
204: 0, 37, 0, 0, 0, 0, 0, 49, 50, 0,
205: 84, 85, 86, 0, 52, 0, 0, 0, 0, 0,
206: 0, 77, 78, 79, 80, 5, 6, 0, 0, 29,
207: 31, 38, 40, 44, 57, 58, 59, 60, 61, 62,
208: 63, 64, 65, 66, 67, 0, 24, 25, 26, 27,
209: 28, 33, 35, 43, 45, 46, 47, 48, 0, 83,
210: 88, 89, 87, 68, 69, 53, 54, 55, 56, 0,
211: 75, 8, 23, 0, 0, 0, 0, 13, 0, 0,
212: 42, 0, 0, 0, 81, 0, 10, 32, 12, 41,
213: 10, 36, 70, 71, 0, 72, 74, 0, 0, 30,
214: 0, 39, 0, 34, 51, 73, 82, 0, 9, 11,
215: 76 };
216: # ifdef YYDEBUG
217: # include "y.debug"
218: # endif
219:
220: # define YYFLAG -1000
221: # define YYERROR goto yyerrlab
222: # define YYACCEPT return(0)
223: # define YYABORT return(1)
224:
225: /* parser for yacc output */
226:
227: #ifdef YYDEBUG
228: int yydebug = 0; /* 1 for debugging */
229: #endif
230: YYSTYPE yyv[YYMAXDEPTH]; /* where the values are stored */
231: int yychar = -1; /* current input token number */
232: int yynerrs = 0; /* number of errors */
233: short yyerrflag = 0; /* error recovery flag */
234:
235: yyparse()
236: { short yys[YYMAXDEPTH];
237: int yyj, yym;
238: register YYSTYPE *yypvt;
239: register int yystate, yyn;
240: register short *yyps;
241: register YYSTYPE *yypv;
242: register short *yyxi;
243:
244: yystate = 0;
245: yychar = -1;
246: yynerrs = 0;
247: yyerrflag = 0;
248: yyps= &yys[-1];
249: yypv= &yyv[-1];
250:
251: yystack: /* put a state and value onto the stack */
252: #ifdef YYDEBUG
253: if(yydebug >= 3)
254: if(yychar < 0 || yytoknames[yychar] == 0)
255: printf("char %d in %s", yychar, yystates[yystate]);
256: else
257: printf("%s in %s", yytoknames[yychar], yystates[yystate]);
258: #endif
259: if( ++yyps >= &yys[YYMAXDEPTH] ) {
260: yyerror( "yacc stack overflow" );
261: return(1);
262: }
263: *yyps = yystate;
264: ++yypv;
265: *yypv = yyval;
266: yynewstate:
267: yyn = yypact[yystate];
268: if(yyn <= YYFLAG) goto yydefault; /* simple state */
269: if(yychar<0) {
270: yychar = yylex();
271: #ifdef YYDEBUG
272: if(yydebug >= 2) {
273: if(yychar <= 0)
274: printf("lex EOF\n");
275: else if(yytoknames[yychar])
276: printf("lex %s\n", yytoknames[yychar]);
277: else
278: printf("lex (%c)\n", yychar);
279: }
280: #endif
281: if(yychar < 0)
282: yychar = 0;
283: }
284: if((yyn += yychar) < 0 || yyn >= YYLAST)
285: goto yydefault;
286: if( yychk[ yyn=yyact[ yyn ] ] == yychar ){ /* valid shift */
287: yychar = -1;
288: yyval = yylval;
289: yystate = yyn;
290: if( yyerrflag > 0 ) --yyerrflag;
291: goto yystack;
292: }
293: yydefault:
294: /* default state action */
295: if( (yyn=yydef[yystate]) == -2 ) {
296: if(yychar < 0) {
297: yychar = yylex();
298: #ifdef YYDEBUG
299: if(yydebug >= 2)
300: if(yychar < 0)
301: printf("lex EOF\n");
302: else
303: printf("lex %s\n", yytoknames[yychar]);
304: #endif
305: if(yychar < 0)
306: yychar = 0;
307: }
308: /* look through exception table */
309: for(yyxi=yyexca; (*yyxi!= (-1)) || (yyxi[1]!=yystate);
310: yyxi += 2 ) ; /* VOID */
311: while( *(yyxi+=2) >= 0 ){
312: if( *yyxi == yychar ) break;
313: }
314: if( (yyn = yyxi[1]) < 0 ) return(0); /* accept */
315: }
316: if( yyn == 0 ){ /* error */
317: /* error ... attempt to resume parsing */
318: switch( yyerrflag ){
319: case 0: /* brand new error */
320: #ifdef YYDEBUG
321: yyerror("syntax error\n%s", yystates[yystate]);
322: if(yytoknames[yychar])
323: yyerror("saw %s\n", yytoknames[yychar]);
324: else if(yychar >= ' ' && yychar < '\177')
325: yyerror("saw `%c'\n", yychar);
326: else if(yychar == 0)
327: yyerror("saw EOF\n");
328: else
329: yyerror("saw char 0%o\n", yychar);
330: #else
331: yyerror( "syntax error" );
332: #endif
333: yyerrlab:
334: ++yynerrs;
335: case 1:
336: case 2: /* incompletely recovered error ... try again */
337: yyerrflag = 3;
338: /* find a state where "error" is a legal shift action */
339: while ( yyps >= yys ) {
340: yyn = yypact[*yyps] + YYERRCODE;
341: if( yyn>= 0 && yyn < YYLAST && yychk[yyact[yyn]] == YYERRCODE ){
342: yystate = yyact[yyn]; /* simulate a shift of "error" */
343: goto yystack;
344: }
345: yyn = yypact[*yyps];
346: /* the current yyps has no shift onn "error", pop stack */
347: #ifdef YYDEBUG
348: if( yydebug ) printf( "error recovery pops state %d, uncovers %d\n", *yyps, yyps[-1] );
349: #endif
350: --yyps;
351: --yypv;
352: }
353: /* there is no state on the stack with an error shift ... abort */
354: yyabort:
355: return(1);
356: case 3: /* no shift yet; clobber input char */
357: #ifdef YYDEBUG
358: if( yydebug ) {
359: printf("error recovery discards ");
360: if(yytoknames[yychar])
361: printf("%s\n", yytoknames[yychar]);
362: else if(yychar >= ' ' && yychar < '\177')
363: printf("`%c'\n", yychar);
364: else if(yychar == 0)
365: printf("EOF\n");
366: else
367: printf("char 0%o\n", yychar);
368: }
369: #endif
370: if( yychar == 0 ) goto yyabort; /* don't discard EOF, quit */
371: yychar = -1;
372: goto yynewstate; /* try again in the same state */
373: }
374: }
375: /* reduction by production yyn */
376: #ifdef YYDEBUG
377: if(yydebug) { char *s;
378: printf("reduce %d in:\n\t", yyn);
379: for(s = yystates[yystate]; *s; s++) {
380: putchar(*s);
381: if(*s == '\n' && *(s+1))
382: putchar('\t');
383: }
384: }
385: #endif
386: yyps -= yyr2[yyn];
387: yypvt = yypv;
388: yypv -= yyr2[yyn];
389: yyval = yypv[1];
390: yym=yyn;
391: /* consult goto table to find next state */
392: yyn = yyr1[yyn];
393: yyj = yypgo[yyn] + *yyps + 1;
394: if( yyj>=YYLAST || yychk[ yystate = yyact[yyj] ] != -yyn ) yystate = yyact[yypgo[yyn]];
395: switch(yym){
396:
397: case 1:
398: # line 22 "eqn.y"
399: { putout(yypvt[-0]); } break;
400: case 2:
401: # line 23 "eqn.y"
402: { error(!FATAL, "syntax error"); } break;
403: case 3:
404: # line 24 "eqn.y"
405: { eqnreg = 0; } break;
406: case 5:
407: # line 28 "eqn.y"
408: { eqnbox(yypvt[-1], yypvt[-0], 0); } break;
409: case 6:
410: # line 29 "eqn.y"
411: { eqnbox(yypvt[-1], yypvt[-0], 1); } break;
412: case 7:
413: # line 30 "eqn.y"
414: { lineup(0); } break;
415: case 8:
416: # line 33 "eqn.y"
417: { yyval = yypvt[-0]; lineup(1); } break;
418: case 9:
419: # line 36 "eqn.y"
420: { yyval = yypvt[-0]; } break;
421: case 10:
422: # line 37 "eqn.y"
423: { yyval = 0; } break;
424: case 11:
425: # line 40 "eqn.y"
426: { yyval = yypvt[-0]; } break;
427: case 12:
428: # line 41 "eqn.y"
429: { yyval = 0; } break;
430: case 13:
431: # line 44 "eqn.y"
432: { yyval = yypvt[-1]; } break;
433: case 14:
434: # line 45 "eqn.y"
435: { text(QTEXT, (char *) yypvt[-0]); } break;
436: case 15:
437: # line 46 "eqn.y"
438: { text(CONTIG, (char *) yypvt[-0]); } break;
439: case 16:
440: # line 47 "eqn.y"
441: { text(SPACE, 0); } break;
442: case 17:
443: # line 48 "eqn.y"
444: { text(THIN, 0); } break;
445: case 18:
446: # line 49 "eqn.y"
447: { text(TAB, 0); } break;
448: case 19:
449: # line 50 "eqn.y"
450: { funny(SUM); } break;
451: case 20:
452: # line 51 "eqn.y"
453: { funny(PROD); } break;
454: case 21:
455: # line 52 "eqn.y"
456: { funny(UNION); } break;
457: case 22:
458: # line 53 "eqn.y"
459: { funny(INTER); } break;
460: case 23:
461: # line 54 "eqn.y"
462: { boverb(yypvt[-2], yypvt[-0]); } break;
463: case 24:
464: # line 55 "eqn.y"
465: { mark(yypvt[-0]); } break;
466: case 25:
467: # line 56 "eqn.y"
468: { size(yypvt[-1], yypvt[-0]); } break;
469: case 26:
470: # line 57 "eqn.y"
471: { font(yypvt[-1], yypvt[-0]); } break;
472: case 27:
473: # line 58 "eqn.y"
474: { fatbox(yypvt[-0]); } break;
475: case 28:
476: # line 59 "eqn.y"
477: { sqrt(yypvt[-0]); } break;
478: case 29:
479: # line 60 "eqn.y"
480: {ps -= deltaps;} break;
481: case 30:
482: # line 60 "eqn.y"
483: { subsup(yypvt[-4], yypvt[-1], yypvt[-0]); } break;
484: case 31:
485: # line 61 "eqn.y"
486: {ps -= deltaps;} break;
487: case 32:
488: # line 61 "eqn.y"
489: { subsup(yypvt[-3], 0, yypvt[-0]); } break;
490: case 33:
491: # line 62 "eqn.y"
492: {ps -= deltaps;} break;
493: case 34:
494: # line 62 "eqn.y"
495: { integral(yypvt[-4], yypvt[-1], yypvt[-0]); } break;
496: case 35:
497: # line 63 "eqn.y"
498: {ps -= deltaps;} break;
499: case 36:
500: # line 63 "eqn.y"
501: { integral(yypvt[-3], 0, yypvt[-0]); } break;
502: case 37:
503: # line 64 "eqn.y"
504: { integral(yypvt[-0], 0, 0); } break;
505: case 38:
506: # line 65 "eqn.y"
507: {ps -= deltaps;} break;
508: case 39:
509: # line 65 "eqn.y"
510: { fromto(yypvt[-4], yypvt[-1], yypvt[-0]); } break;
511: case 40:
512: # line 66 "eqn.y"
513: {ps -= deltaps;} break;
514: case 41:
515: # line 66 "eqn.y"
516: { fromto(yypvt[-3], 0, yypvt[-0]); } break;
517: case 42:
518: # line 67 "eqn.y"
519: { paren(yypvt[-2], yypvt[-1], yypvt[-0]); } break;
520: case 43:
521: # line 68 "eqn.y"
522: { paren(yypvt[-1], yypvt[-0], 0); } break;
523: case 44:
524: # line 69 "eqn.y"
525: { diacrit(yypvt[-1], yypvt[-0]); } break;
526: case 45:
527: # line 70 "eqn.y"
528: { move(FWD, yypvt[-1], yypvt[-0]); } break;
529: case 46:
530: # line 71 "eqn.y"
531: { move(UP, yypvt[-1], yypvt[-0]); } break;
532: case 47:
533: # line 72 "eqn.y"
534: { move(BACK, yypvt[-1], yypvt[-0]); } break;
535: case 48:
536: # line 73 "eqn.y"
537: { move(DOWN, yypvt[-1], yypvt[-0]); } break;
538: case 49:
539: # line 74 "eqn.y"
540: { pile(yypvt[-0]); ct = yypvt[-0]; } break;
541: case 50:
542: # line 75 "eqn.y"
543: {yyval=ct;} break;
544: case 51:
545: # line 75 "eqn.y"
546: { matrix(yypvt[-3]); ct = yypvt[-3]; } break;
547: case 52:
548: # line 78 "eqn.y"
549: { setintegral(); } break;
550: case 53:
551: # line 81 "eqn.y"
552: { yyval = atoi((char *) yypvt[-1]); } break;
553: case 54:
554: # line 82 "eqn.y"
555: { yyval = atoi((char *) yypvt[-1]); } break;
556: case 55:
557: # line 83 "eqn.y"
558: { yyval = atoi((char *) yypvt[-1]); } break;
559: case 56:
560: # line 84 "eqn.y"
561: { yyval = atoi((char *) yypvt[-1]); } break;
562: case 57:
563: # line 86 "eqn.y"
564: { yyval = HAT; } break;
565: case 58:
566: # line 87 "eqn.y"
567: { yyval = VEC; } break;
568: case 59:
569: # line 88 "eqn.y"
570: { yyval = DYAD; } break;
571: case 60:
572: # line 89 "eqn.y"
573: { yyval = BAR; } break;
574: case 61:
575: # line 90 "eqn.y"
576: { yyval = LOWBAR; } break;
577: case 62:
578: # line 91 "eqn.y"
579: { yyval = HIGHBAR; } break;
580: case 63:
581: # line 92 "eqn.y"
582: { yyval = UNDER; } break;
583: case 64:
584: # line 93 "eqn.y"
585: { yyval = DOT; } break;
586: case 65:
587: # line 94 "eqn.y"
588: { yyval = TILDE; } break;
589: case 66:
590: # line 95 "eqn.y"
591: { yyval = UTILDE; } break;
592: case 67:
593: # line 96 "eqn.y"
594: { yyval = DOTDOT; } break;
595: case 68:
596: # line 99 "eqn.y"
597: { yyval = ((char *)yypvt[-0])[0]; } break;
598: case 69:
599: # line 100 "eqn.y"
600: { yyval = '{'; } break;
601: case 70:
602: # line 103 "eqn.y"
603: { yyval = ((char *)yypvt[-0])[0]; } break;
604: case 71:
605: # line 104 "eqn.y"
606: { yyval = '}'; } break;
607: case 74:
608: # line 111 "eqn.y"
609: { column(yypvt[-3], DEFGAP); } break;
610: case 75:
611: # line 112 "eqn.y"
612: {yyval=atoi((char*)yypvt[-0]);} break;
613: case 76:
614: # line 112 "eqn.y"
615: { column(yypvt[-5], yypvt[-3]); } break;
616: case 77:
617: # line 115 "eqn.y"
618: { yyval = startcol(LCOL); } break;
619: case 78:
620: # line 116 "eqn.y"
621: { yyval = startcol(CCOL); } break;
622: case 79:
623: # line 117 "eqn.y"
624: { yyval = startcol(RCOL); } break;
625: case 80:
626: # line 118 "eqn.y"
627: { yyval = startcol(COL); } break;
628: case 81:
629: # line 121 "eqn.y"
630: { lp[ct++] = yypvt[-0]; } break;
631: case 82:
632: # line 122 "eqn.y"
633: { lp[ct++] = yypvt[-0]; } break;
634: case 83:
635: # line 125 "eqn.y"
636: { yyval = ps; setsize((char *) yypvt[-0]); } break;
637: case 84:
638: # line 128 "eqn.y"
639: { setfont("R"); } break;
640: case 85:
641: # line 129 "eqn.y"
642: { setfont("I"); } break;
643: case 86:
644: # line 130 "eqn.y"
645: { setfont("B"); } break;
646: case 87:
647: # line 131 "eqn.y"
648: { setfont((char *)yypvt[-0]); } break;
649: }
650: goto yystack; /* stack new state and value */
651: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.