Annotation of researchv10no/cmd/pico/y.tab.c, revision 1.1

1.1     ! root        1: 
        !             2: # line 2 "x.y"
        !             3: #include <stdio.h>
        !             4: #include "pico.h"
        !             5: #include "pico2.h"
        !             6: 
        !             7: #define usedboth       usedold=usednew=1
        !             8: 
        !             9: #define YYDEBUG        1
        !            10: 
        !            11: extern short CURSCRATCH, CUROLD;
        !            12: extern char *progr;
        !            13: extern struct SRC src[MANY];
        !            14: extern int nsrc, nrparams, LO, linenumber, whichdevice;
        !            15: extern char usednew, usedold, faster, frameb, metheus;
        !            16: extern char isglobal, seetree, optim, touchedcmap;
        !            17: extern FILE *INPUT;
        !            18: 
        !            19: # line 19 "x.y"
        !            20: typedef union {
        !            21:        Node    *node;
        !            22:        Symbol  *sym;
        !            23:        int     resu;
        !            24:        struct SNode *snode;
        !            25: } YYSTYPE;
        !            26: # define VARIABLE 257
        !            27: # define AUTO 258
        !            28: # define ARRAY 259
        !            29: # define FCT 260
        !            30: # define BLTN 261
        !            31: # define NAME 262
        !            32: # define VAL 263
        !            33: # define STRING 264
        !            34: # define A 265
        !            35: # define WINDOW 266
        !            36: # define C 267
        !            37: # define DEF 268
        !            38: # define DEL 269
        !            39: # define SCOM 270
        !            40: # define ECOM 271
        !            41: # define UP 272
        !            42: # define DOWN 273
        !            43: # define RUN 274
        !            44: # define F 275
        !            45: # define H 276
        !            46: # define Q 277
        !            47: # define R 278
        !            48: # define SET 279
        !            49: # define SETF 280
        !            50: # define GET 281
        !            51: # define W 282
        !            52: # define PCONST 283
        !            53: # define RETURN 284
        !            54: # define OPEN 285
        !            55: # define CLOSE 286
        !            56: # define DECL 287
        !            57: # define INT 288
        !            58: # define GLOBAL 289
        !            59: # define X 290
        !            60: # define Y 291
        !            61: # define I 292
        !            62: # define OLD 293
        !            63: # define TMP 294
        !            64: # define CMAP 295
        !            65: # define FOR 296
        !            66: # define DO 297
        !            67: # define WHILE 298
        !            68: # define JUMP 299
        !            69: # define IF 300
        !            70: # define ELSE 301
        !            71: # define COLOR 302
        !            72: # define NOCOLOR 303
        !            73: # define ZAP 304
        !            74: # define FASTER 305
        !            75: # define SLOWER 306
        !            76: # define HELP 307
        !            77: # define FRAMEBUFFER 308
        !            78: # define METHEUS 309
        !            79: # define BLIND 310
        !            80: # define SEETREE 311
        !            81: # define OPTIM 312
        !            82: # define ASSIGN 313
        !            83: # define OPER 314
        !            84: # define OROR 315
        !            85: # define ANDAND 316
        !            86: # define OR 317
        !            87: # define AND 318
        !            88: # define EQ 319
        !            89: # define NE 320
        !            90: # define GT 321
        !            91: # define GE 322
        !            92: # define LT 323
        !            93: # define LE 324
        !            94: # define LSH 325
        !            95: # define RSH 326
        !            96: # define POST 327
        !            97: # define UNARYMINUS 328
        !            98: # define NOT 329
        !            99: # define RCHAN 330
        !           100: # define GCHAN 331
        !           101: # define BCHAN 332
        !           102: # define BW 333
        !           103: # define RGB 334
        !           104: # define POW 335
        !           105: #define yyclearin yychar = -1
        !           106: #define yyerrok yyerrflag = 0
        !           107: extern int yychar;
        !           108: extern short yyerrflag;
        !           109: #ifndef YYMAXDEPTH
        !           110: #define YYMAXDEPTH 150
        !           111: #endif
        !           112: YYSTYPE yylval, yyval;
        !           113: # define YYERRCODE 256
        !           114: 
        !           115: # line 316 "x.y"
        !           116: 
        !           117: short yyexca[] ={
        !           118: -1, 1,
        !           119:        0, -1,
        !           120:        -2, 0,
        !           121: -1, 108,
        !           122:        58, 79,
        !           123:        -2, 135,
        !           124: -1, 109,
        !           125:        58, 80,
        !           126:        -2, 136,
        !           127: -1, 112,
        !           128:        58, 83,
        !           129:        -2, 137,
        !           130: -1, 113,
        !           131:        58, 84,
        !           132:        -2, 125,
        !           133: -1, 114,
        !           134:        58, 67,
        !           135:        -2, 131,
        !           136: -1, 115,
        !           137:        58, 68,
        !           138:        -2, 132,
        !           139: -1, 116,
        !           140:        58, 69,
        !           141:        -2, 133,
        !           142: -1, 134,
        !           143:        286, 50,
        !           144:        -2, 55,
        !           145:        };
        !           146: # define YYNPROD 180
        !           147: # define YYLAST 1448
        !           148: short yyact[]={
        !           149: 
        !           150:   62,  66, 178, 270, 176, 269, 138, 137, 338, 174,
        !           151:  172, 265, 173, 264, 175, 263, 262,  62, 163, 176,
        !           152:  136,  92,  63,  64, 174, 172, 238, 173, 176, 175,
        !           153:  171, 140, 139, 174, 104, 266, 104, 176, 175, 156,
        !           154:  104, 214, 174, 172, 213, 173, 212, 175, 333, 334,
        !           155:  335, 332, 331, 221, 222, 223, 220, 219, 119,  73,
        !           156:  133, 177, 320, 207, 152, 232, 199, 200, 201, 130,
        !           157:  198, 102,  97,  39,  96, 301,   7,  21, 303,  23,
        !           158:    8,  41,  42,  82, 302,   3,   9,  11,   6,   5,
        !           159:   19,  20,  10,  22,  68,  71,  72,  69,  70,  67,
        !           160:  330,  74,  39, 329,  39, 230, 118, 166,  39, 328,
        !           161:  135, 327, 326,  17,  16, 141,  12,  13,  18, 210,
        !           162:  325, 104,  14,  15, 209, 324, 284,  75,  76,  77,
        !           163:   62, 282,  62,  39, 123, 215, 104, 283, 260, 127,
        !           164:  281,  82, 280,  68,  71,  72,  69,  70,  67, 151,
        !           165:   74, 279,  75,  76,  77, 146, 278, 202, 143, 274,
        !           166:  273, 148,  64, 339, 236, 176,  25, 104, 107, 272,
        !           167:  174, 172,  27, 173, 167, 175,  75,  76,  77, 150,
        !           168:  149, 164, 268,  62, 271, 124, 234,  58, 154,  39,
        !           169:  101, 169, 193, 100,  99,  98,  84, 267,  89, 208,
        !           170:  147,  78,  24, 103,  39, 106, 203,  28, 165,  26,
        !           171:  316, 289, 290, 288, 275, 293, 142, 162, 161, 145,
        !           172:  128, 109, 112, 113, 110, 111, 108, 143,  74, 120,
        !           173:  153, 144,  27, 117, 211,  39, 104, 235, 109, 112,
        !           174:  113, 110, 111, 108, 206,  74,  40,  30,  36,  38,
        !           175:  231,  90,   2,  52, 114, 115, 116,  61,  60,  37,
        !           176:   33,  35,  44, 105,  43,  36,  38,  28, 233,  26,
        !           177:   52, 114, 115, 116,  61,  60,  37,  33,  35,  44,
        !           178:  105,  43, 186, 185, 187, 188, 183, 184, 179, 180,
        !           179:  181, 182, 189, 190,  55,  56,  57,  53,  54, 309,
        !           180:  310,  81, 178,   1,  39,   4, 291, 189, 190,  86,
        !           181:  168,  55,  56,  57,  53,  54, 191, 178,  48, 306,
        !           182:  194, 195, 196,  34,  32, 197, 178, 132, 208, 121,
        !           183:  204, 205, 300, 134,   0, 178,   0, 217, 218,  62,
        !           184:    0,   0, 104, 123,   0, 228, 305,   0, 127, 307,
        !           185:  308,  50,  51,  59,  41,  42,  49, 125, 126,  81,
        !           186:    0, 340,   0,   0, 239, 240, 241, 242, 243, 244,
        !           187:  245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
        !           188:  255, 256, 257, 258,  45,  46,  47,  61,  60,  61,
        !           189:   60, 176,   0,   0, 124, 337, 174, 172,   0, 173,
        !           190:    0, 175,   0,   0,  50,  51,  59,  41,  42,  49,
        !           191:   39,   0, 341,   0,   0,   0,   0, 171,   0,   0,
        !           192:    0,   0,   0, 129,  55,  56,  57,  53,  54, 128,
        !           193:  292,  36,  38,   0,   0,   0,  52,  45,  46,  47,
        !           194:   61,  60,  37,  33,  35,  44,   0,  43, 177, 179,
        !           195:  180, 181, 182, 189, 190, 296, 297, 298, 299,   0,
        !           196:    0,   0, 176, 178,   0, 122,   0, 174, 172,  29,
        !           197:  173,   0, 175,   0, 319,   0,   0,  55,  56,  57,
        !           198:   53,  54,   0,   0, 321, 176, 322, 323, 171,   0,
        !           199:  174, 172,   0, 173,   0, 175,   0,   0,  29,  62,
        !           200:   29,   0,   0,   0,  29,   0, 294,   0,  82,   0,
        !           201:    0, 171, 176,   0, 336,   0, 277, 174, 172, 177,
        !           202:  173,   0, 175,   0,   0,   0,   0,   0,   0,  29,
        !           203:    0,   0,   0,   0,   0,   0,   0,   0, 171,   0,
        !           204:    0,   0, 177,   0, 176,   0,   0,   0, 276, 174,
        !           205:  172,   0, 173,   0, 175,   0,   0,   0,   0,   0,
        !           206:   50,  51,  59,  41,  42,  49, 125, 126,   0, 177,
        !           207:  171,   0, 176,   0,   0,   0,   0, 174, 172, 261,
        !           208:  173,   0, 175,   0,   0,  29,   0,   0,   0,   0,
        !           209:    0,   0,   0,  45,  46,  47,  61,  60, 171, 176,
        !           210:   29, 177,   0, 259, 174, 172,   0, 173,   0, 175,
        !           211:    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
        !           212:    0,   0,   0,   0,   0, 171,   0,   0,   0, 177,
        !           213:    0,  29, 129,  55,  56,  57,  53,  54, 176,   0,
        !           214:    0,   0,   0, 174, 172,   0, 173,   0, 175,   0,
        !           215:    0,   0,   0,   0,   0,   0, 177,   0,   0,   0,
        !           216:  237,   0,   0,   0, 171,   0,   0,   0,   0, 186,
        !           217:  185, 187, 188, 183, 184, 179, 180, 181, 182, 189,
        !           218:  190,   0, 176,   0,   0,   0,   0, 174, 172, 178,
        !           219:  173,   0, 175,   0,   0, 177,   0,   0,   0,   0,
        !           220:   29,   0,   0,   0, 170, 176,   0,   0, 171,   0,
        !           221:  174, 172,   0, 173,   0, 175,   0,   0,   0,   0,
        !           222:   68,  71,  72,  69,  70,  67,  81,  74,   0,   0,
        !           223:    0, 171,  95,   0,   0,   0,   0,   0,   0, 177,
        !           224:  186, 185, 187, 188, 183, 184, 179, 180, 181, 182,
        !           225:  189, 190,   0,  75,  76,  77,  61,  60,   0,   0,
        !           226:  178,   0, 177, 186, 185, 187, 188, 183, 184, 179,
        !           227:  180, 181, 182, 189, 190,   0, 131,   0,   0, 176,
        !           228:   31,   0,   0, 178, 174, 172,   0, 173,   0, 175,
        !           229:  186, 185, 187, 188, 183, 184, 179, 180, 181, 182,
        !           230:  189, 190,   0,   0,   0,   0,  29,  82, 176,  31,
        !           231:  178,  31,   0, 174, 172,  31, 173,  62, 175,   0,
        !           232:    0,   0, 186, 185, 187, 188, 183, 184, 179, 180,
        !           233:  181, 182, 189, 190,   0,   0, 177,   0, 176,   0,
        !           234:   31,   0, 178, 174, 172,   0, 173,   0, 175,   0,
        !           235:  186, 185, 187, 188, 183, 184, 179, 180, 181, 182,
        !           236:  189, 190,   0, 176,   0, 177,   0,   0, 174, 172,
        !           237:  178, 173,   0, 175,   0,   0,   0, 186, 185, 187,
        !           238:  188, 183, 184, 179, 180, 181, 182, 189, 190,   0,
        !           239:    0,   0,   0, 176,   0, 177,  31, 178, 174, 172,
        !           240:    0, 173,   0, 175,   0,   0,   0,   0,   0,  62,
        !           241:    0,  31,   0,   0,   0,   0, 186, 185, 187, 188,
        !           242:  183, 184, 179, 180, 181, 182, 189, 190,   0, 176,
        !           243:    0,   0,   0,   0, 174, 172, 178, 173,   0, 175,
        !           244:    0,   0,  31,   0,  68,  71,  72,  69,  70,  67,
        !           245:  177,  74,   0,   0,   0,   0,   0,   0,   0, 192,
        !           246:  186, 185, 187, 188, 183, 184, 179, 180, 181, 182,
        !           247:  189, 190,   0,   0,   0,   0,   0,  75,  76,  77,
        !           248:  178,   0,   0, 186, 185, 187, 188, 183, 184, 179,
        !           249:  180, 181, 182, 189, 190,   0,   0,   0,   0,   0,
        !           250:    0,   0,   0, 178,   0,   0,   0,   0,   0,   0,
        !           251:    0,  31,   0,   0,   0,   0,   0,   0,   0,  68,
        !           252:   71,  72,  69,  70,  67,  81,  74,   0,   0,   0,
        !           253:    0,   0,   0,   0,   0,   0,   0,   0,  68,  71,
        !           254:   72,  69,  70,  67,  85,  74, 304, 304,   0,   0,
        !           255:  304, 304,  75,  76,  77,   0,   0, 186, 185, 187,
        !           256:  188, 183, 184, 179, 180, 181, 182, 189, 190,   0,
        !           257:    0,  75,  76,  77,  61,  60,   0, 178,   0,   0,
        !           258:    0,   0,   0,   0,   0,   0,   0, 185, 187, 188,
        !           259:  183, 184, 179, 180, 181, 182, 189, 190,   0,   0,
        !           260:    0,   0, 216,   0,   0,   0, 178, 224, 225,   0,
        !           261:    0,   0,   0,   0,   0,   0,   0,  31, 187, 188,
        !           262:  183, 184, 179, 180, 181, 182, 189, 190,   0,   0,
        !           263:   68,  71,  72,  69,  70,  67, 178,  74,   0,   0,
        !           264:    0,   0,   0,   0, 188, 183, 184, 179, 180, 181,
        !           265:  182, 189, 190,   0,   0,   0,   0,   0,   0,   0,
        !           266:   65, 178,   0,  75,  76,  77,  61,  60,  79,  83,
        !           267:    0,  87,  91,  80, 188, 183, 184, 179, 180, 181,
        !           268:  182, 189, 190,  94,  88,   0,   0,   0,   0,   0,
        !           269:    0, 178,   0,   0,   0,  93,   0,   0,   0,   0,
        !           270:    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
        !           271:    0, 183, 184, 179, 180, 181, 182, 189, 190,   0,
        !           272:    0, 295,   0,   0,   0,   0,   0, 178,   0,   0,
        !           273:    0,   0,   0,   0,   0,   0,   0,   0, 311, 312,
        !           274:  313, 314, 315,   0,   0,   0,   0,   0,   0,   0,
        !           275:    0, 158,   0,   0, 155,   0, 160,   0,   0,   0,
        !           276:    0,   0, 157,   0,   0,   0,   0, 159,   0,   0,
        !           277:    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
        !           278:    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
        !           279:    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
        !           280:    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
        !           281:    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
        !           282:    0,   0,   0,   0,   0,   0,   0,   0,   0, 226,
        !           283:    0, 227,   0, 229,   0,   0,   0,   0,   0,   0,
        !           284:    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
        !           285:    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
        !           286:    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
        !           287:    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
        !           288:    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
        !           289:    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
        !           290:  285, 286,   0, 287,   0,   0,   0,   0,   0,   0,
        !           291:    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
        !           292:    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
        !           293:    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
        !           294:    0,   0,   0,   0,   0,   0, 317, 318 };
        !           295: short yypact[]={
        !           296: 
        !           297: -189,-1000, 143, 147, 103,-163, 142, 762, 781,-1000,
        !           298:  463,-163,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-163,
        !           299: -1000,  38, 687,-188,-1000,-1000,-1000, 136, 135, 134,
        !           300: -1000, 131, -19, 193, -19, 103, 303,  14, -19,-307,
        !           301: -256, 176, 176, 191, 179,-1000,-1000,-1000,-1000,-1000,
        !           302: -1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000, 109,  70,
        !           303: -1000,-1000,-114, 147,-1000, 129,-1000,-1000,-1000,-1000,
        !           304: -1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,
        !           305:   38,-1000,-224,-1000,-1000,-1000,-1000,-1000,  38,-1000,
        !           306: -163,-1000,-1000,  38,-1000,-163, 178, 177,-1000,-1000,
        !           307: -1000,-1000,-283, 122, 150,-163,-1000, 115,-1000,-1000,
        !           308:  176, 176,-1000,  70,-1000,-1000,-1000, 303,-1000, -19,
        !           309:  645,-1000,-1000, 303, 303,-1000,-1000, 303, 303, 303,
        !           310: -307,-1000, 303,-264, -36,-1000,-1000, 303, 303,-138,
        !           311: -218,-1000,  94,-1000, 303, 303,-277, 303, 303,-1000,
        !           312: -1000,-1000,-1000,-1000,-1000,  38,-1000,  96,-1000,  38,
        !           313: -1000,-197,-197, 103,-1000, -19, 105,-1000, 601,-272,
        !           314: -1000, 303, 303, 303, 303, 303, 303, 303, 303, 303,
        !           315:  303, 303, 303, 303, 303, 303, 303, 303, 303, 303,
        !           316:  303, 562,  45, 535,-333,-333,-333, 668,-297,-298,
        !           317: -300,-302,-251,-1000, 742, 668, 138,-1000,-1000,-308,
        !           318: -310, 125,-1000,  69,  68,-1000, 173, 507, 475,  65,
        !           319:   60,  51,  49,  40,  44,  33,  38,  38,-1000,  38,
        !           320:  172, 167,-1000, 171, -19,-1000,-1000, 303, 175, 448,
        !           321:   -9,  -9,-333,-333,-333, 826,-333, -18, -18, -18,
        !           322:  -18, 128, 128, 801, 771, 856, 892,   0,   0,-1000,
        !           323: -1000, 303, 303, 303, 303, 303,-1000,-1000,-138,-179,
        !           324: -179,-1000,-218,-179,-179,-1000, 103, 103, 303, 303,
        !           325:  303, 303, 303, 164,-1000,-163, 873,-1000,-1000,-200,
        !           326: -1000,-1000, 425, 303, 303,-1000, 668, 668, 668, 668,
        !           327: -1000,-1000,-1000,-1000,-1000,-1000,-1000,  32,  27,-1000,
        !           328: -1000,  19,  18,  16,  10,   7,-282,-1000,-1000,-1000,
        !           329: -1000, 303, 354, 668,-1000,-1000,-1000,-1000,-1000,-1000,
        !           330: -1000,-1000,-1000,-1000,-1000,-1000, -33, 104, 103,-1000,
        !           331:  -19,-1000 };
        !           332: short yypgo[]={
        !           333: 
        !           334:    0,  71, 205, 203, 333, 329, 465, 324, 323, 115,
        !           335:  776, 959, 192, 168, 318,  69, 187, 166,  75,1173,
        !           336:  309,   1,  59,1160, 305, 303, 252,  22, 105, 251,
        !           337:  250, 247, 246, 244, 234,  63,  46 };
        !           338: short yyr1[]={
        !           339: 
        !           340:    0,  25,  25,  25,  25,  25,  24,  24,  26,  26,
        !           341:   26,  26,  26,  26,  26,  26,  26,  26,  26,  26,
        !           342:   26,  26,  26,  26,  26,  26,  26,  26,  26,  26,
        !           343:   26,  26,  26,  20,  20,  20,  29,  29,  28,  28,
        !           344:   30,  30,  17,  17,  17,  13,  13,  13,  13,  13,
        !           345:   27,  27,  31,  31,  32,  32,  33,  33,  34,  34,
        !           346:   35,  35,  35,  35,  35,  36,  36,  22,  22,  22,
        !           347:    3,   4,   4,   9,   9,  11,  11,   7,   8,  21,
        !           348:   21,  21,  21,  21,  21,  21,  21,  23,   1,   1,
        !           349:    1,   1,   1,   2,   2,   2,   2,   2,   2,   2,
        !           350:    2,   2,  14,  14,  14,  14,  14,  14,  14,  14,
        !           351:   14,  14,  14,  14,  14,  14,  14,  14,  14,  14,
        !           352:   14,  14,  14,  14,  14,  14,   6,   6,   6,   5,
        !           353:    5,  15,  15,  15,  15,  15,  15,  15,  10,  10,
        !           354:   19,  19,  18,  18,  18,  12,  12,  12,  12,  12,
        !           355:   12,  12,  12,  12,  12,  12,  12,  12,  12,  12,
        !           356:   12,  12,  12,  12,  12,  12,  12,  12,  12,  12,
        !           357:   12,  12,  12,  12,  16,  16,  16,  16,  16,  16 };
        !           358: short yyr2[]={
        !           359: 
        !           360:    0,   2,   2,   3,   3,   2,   5,   5,   0,   2,
        !           361:    6,   2,   2,   2,   1,   1,   2,   2,   6,   2,
        !           362:    1,   1,   1,   1,   1,   1,   1,   1,   2,   1,
        !           363:    5,   2,   3,   1,   3,   5,   1,   2,   0,   1,
        !           364:    1,   3,   1,   2,   2,   3,   5,   5,   5,   5,
        !           365:    0,   1,   4,   4,   1,   0,   1,   3,   1,   3,
        !           366:    1,   1,   1,   3,   3,   4,   4,   1,   1,   1,
        !           367:    4,   1,   2,   2,   3,   1,   3,   5,   5,   1,
        !           368:    1,   1,   1,   1,   1,   1,   1,   1,   2,   3,
        !           369:    3,   1,   2,   2,   1,   2,   2,   5,  10,   2,
        !           370:    8,   3,   1,   1,   1,   1,   1,   1,   3,   3,
        !           371:    3,   3,   3,   4,   6,   6,   6,   6,   6,   6,
        !           372:    6,   6,   6,   6,   4,   1,   2,   3,   3,   1,
        !           373:    1,   1,   1,   1,   1,   1,   1,   1,   2,   2,
        !           374:    1,   2,   1,   1,   1,   1,   1,   3,   3,   1,
        !           375:    1,   5,   2,   2,   2,   3,   3,   3,   3,   3,
        !           376:    3,   3,   3,   3,   3,   3,   3,   3,   3,   3,
        !           377:    3,   3,   3,   3,   1,   1,   2,   2,   2,   2 };
        !           378: short yychk[]={
        !           379: 
        !           380: -1000, -25, -26, 274, -24, 278, 277, 265, 269, 275,
        !           381:  281, 276, 305, 306, 311, 312, 303, 302, 307, 279,
        !           382:  280, 266, 282, 268,  59, -17,  -2, -13,  -3,  -6,
        !           383:  -31, -10,  -7, 296,  -8, 297, 284, 295, 285, -15,
        !           384:  -32, 260, 261, 300, 298, 290, 291, 292, -14, 262,
        !           385:  257, 258, 289, 333, 334, 330, 331, 332, -16, 259,
        !           386:  294, 293,  36, -27,  59, -23, -21, 262, 257, 260,
        !           387:  261, 258, 259, -22, 264, 290, 291, 292,  59, -23,
        !           388:  -19, 263,  45, -23, -16, 263, -20, -23, -19, -16,
        !           389:  -29, -23, -21, -19, -23,  45, 262, 260,  59,  59,
        !           390:   59,  59,  -1,  -3, -21, 299,  -2, -13, 262, 257,
        !           391:  260, 261, 258, 259, 290, 291, 292,  40,  -1, -27,
        !           392:  -12,  -5,  -6,  40,  91, 263, 264,  45, 126, 329,
        !           393:  -15, -10, 313,  46,  -4,  -1, 327, 314, 313, 288,
        !           394:  287,  -9,  40,  -9,  40,  40,  46,  91,  91, 294,
        !           395:  293, 263, -21, -17,  59, -19, 263, -19, -23, -19,
        !           396:  -23,  40,  40, 301,  59,  58, -21,  59, -12,  -1,
        !           397:   59,  63,  43,  45,  42,  47,  37,  94, 335, 321,
        !           398:  322, 323, 324, 319, 320, 316, 315, 317, 318, 325,
        !           399:  326, -12, -11, -12, -12, -12, -12, -12, 334, 330,
        !           400:  331, 332, -27,  -1, -12, -12, -33, -35, -22, 262,
        !           401:  257, -34, -36, 262, 259,  41, -11, -12, -12, 334,
        !           402:  333, 330, 331, 332, -11, -11, -19, -19, -16, -19,
        !           403:  -28, -30, 262, -28, -27,  -1,  59,  59, 298, -12,
        !           404:  -12, -12, -12, -12, -12, -12, -12, -12, -12, -12,
        !           405:  -12, -12, -12, -12, -12, -12, -12, -12, -12,  41,
        !           406:   93,  44, 313, 313, 313, 313, 286,  59,  44, 313,
        !           407:  313,  59,  44,  91,  91,  41,  41,  41,  91,  91,
        !           408:   91,  91,  91,  93,  93, -19, -19, -19,  41,  44,
        !           409:   41,  -1, -12,  40,  58, -11, -12, -12, -12, -12,
        !           410:  -35, -18, 263, 257, -10, -18, -36, -18, -18, -27,
        !           411:  -27, -11, -11, -11, -11, -11,  46, -23, -23, -16,
        !           412:  262,  59, -12, -12,  93,  93,  93,  93,  93,  93,
        !           413:   93, 334, 333, 330, 331, 332, -12,  41,  41,  59,
        !           414:  -27,  -1 };
        !           415: short yydef[]={
        !           416: 
        !           417:    8,  -2,   0,  55,  50,   0,   0,   0,   0,  14,
        !           418:   15,   0,  20,  21,  22,  23,  24,  25,  26,  27,
        !           419:   29,   0,   0,   0,   1,   2,  42,   0,   0,   0,
        !           420:   94,   0,  55,   0,  55,  50,   0,   0,  55,   0,
        !           421:    0,   0,   0,   0,   0, 131, 132, 133, 134, 135,
        !           422:  136, 137,  54, 102, 103, 104, 105, 106, 107, 125,
        !           423:  174, 175,   0,  55,  51,   0,  87,  79,  80,  81,
        !           424:   82,  83,  84,  85,  86,  67,  68,  69,   5,   9,
        !           425:    0, 140,   0,  11,  12,  13,  16,  17,   0,  33,
        !           426:   19,  36,  28,   0,  31,   0,   0,   0,  43,  44,
        !           427:   93,  95,  96,   0,   0,   0,  91,   0,  -2,  -2,
        !           428:   81,  82,  -2,  -2,  -2,  -2,  -2,   0,  99,  55,
        !           429:    0, 145, 146,   0,   0, 149, 150,   0,   0,   0,
        !           430:  129, 130,   0,   0,  -2,  71, 126,   0,   0,   0,
        !           431:    0, 138,   0, 139,   0,   0,   0,   0,   0, 176,
        !           432:  177, 178, 179,   3,   4,   0, 141,   0,  37,   0,
        !           433:   32,  38,  38,  50,  88,  55,   0,  92,   0,   0,
        !           434:  101,   0,   0,   0,   0,   0,   0,   0,   0,   0,
        !           435:    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
        !           436:    0,   0,   0,  75, 152, 153, 154,  45,   0,   0,
        !           437:    0,   0,   0,  72, 127, 128,   0,  56,  60,  61,
        !           438:   62,   0,  58,   0,   0,  73,   0,   0,   0, 108,
        !           439:  109, 110, 111, 112,   0,   0,   0,   0,  34,   0,
        !           440:    0,  39,  40,   0,  55,  89,  90,   0,   0,   0,
        !           441:  155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
        !           442:  165, 166, 167, 168, 169, 170, 171, 172, 173, 147,
        !           443:  148,   0,   0,   0,   0,   0,  70,  52,   0,   0,
        !           444:    0,  53,   0,   0,   0,  74,  50,  50,   0,   0,
        !           445:    0,   0,   0, 113, 124,   0,   0,  30,   6,   0,
        !           446:    7,  97,   0,   0,   0,  76,  46,  47,  48,  49,
        !           447:   57,  63, 142, 143, 144,  64,  59,   0,   0,  77,
        !           448:   78,   0,   0,   0,   0,   0,   0,  10,  18,  35,
        !           449:   41,   0,   0, 151,  65,  66, 119, 120, 121, 122,
        !           450:  123, 114, 115, 116, 117, 118,   0,   0,  50, 100,
        !           451:   55,  98 };
        !           452: # ifdef YYDEBUG
        !           453: # include "y.debug"
        !           454: # endif
        !           455: 
        !           456: # define YYFLAG -1000
        !           457: # define YYERROR goto yyerrlab
        !           458: # define YYACCEPT return(0)
        !           459: # define YYABORT return(1)
        !           460: 
        !           461: /*     parser for yacc output  */
        !           462: 
        !           463: #ifdef YYDEBUG
        !           464: int yydebug = 0; /* 1 for debugging */
        !           465: #endif
        !           466: YYSTYPE yyv[YYMAXDEPTH]; /* where the values are stored */
        !           467: int yychar = -1; /* current input token number */
        !           468: int yynerrs = 0;  /* number of errors */
        !           469: short yyerrflag = 0;  /* error recovery flag */
        !           470: 
        !           471: yyparse()
        !           472: {      short yys[YYMAXDEPTH];
        !           473:        int yyj, yym;
        !           474:        register YYSTYPE *yypvt;
        !           475:        register int yystate, yyn;
        !           476:        register short *yyps;
        !           477:        register YYSTYPE *yypv;
        !           478:        register short *yyxi;
        !           479: 
        !           480:        yystate = 0;
        !           481:        yychar = -1;
        !           482:        yynerrs = 0;
        !           483:        yyerrflag = 0;
        !           484:        yyps= &yys[-1];
        !           485:        yypv= &yyv[-1];
        !           486: 
        !           487: yystack:    /* put a state and value onto the stack */
        !           488: #ifdef YYDEBUG
        !           489:        if(yydebug >= 3)
        !           490:                if(yychar < 0 || yytoknames[yychar] == 0)
        !           491:                        printf("char %d in %s", yychar, yystates[yystate]);
        !           492:                else
        !           493:                        printf("%s in %s", yytoknames[yychar], yystates[yystate]);
        !           494: #endif
        !           495:        if( ++yyps >= &yys[YYMAXDEPTH] ) { 
        !           496:                yyerror( "yacc stack overflow" ); 
        !           497:                return(1)        !           498:        }
        !           499:        *yyps = yystate;
        !           500:        ++yypv;
        !           501:        *yypv = yyval;
        !           502: yynewstate:
        !           503:        yyn = yypact[yystate];
        !           504:        if(yyn <= YYFLAG) goto yydefault; /* simple state */
        !           505:        if(yychar<0) {
        !           506:                yychar = yylex();
        !           507: #ifdef YYDEBUG
        !           508:                if(yydebug >= 2) {
        !           509:                        if(yychar <= 0)
        !           510:                                printf("lex EOF\n");
        !           511:                        else if(yytoknames[yychar])
        !           512:                                printf("lex %s\n", yytoknames[yychar]);
        !           513:                        else
        !           514:                                printf("lex (%c)\n", yychar);
        !           515:                }
        !           516: #endif
        !           517:                if(yychar < 0)
        !           518:                        yychar = 0;
        !           519:        }
        !           520:        if((yyn += yychar) < 0 || yyn >= YYLAST)
        !           521:                goto yydefault;
        !           522:        if( yychk[ yyn=yyact[ yyn ] ] == yychar ){ /* valid shift */
        !           523:                yychar = -1;
        !           524:                yyval = yylval;
        !           525:                yystate = yyn;
        !           526:                if( yyerrflag > 0 ) --yyerrflag;
        !           527:                goto yystack;
        !           528:        }
        !           529: yydefault:
        !           530:        /* default state action */
        !           531:        if( (yyn=yydef[yystate]) == -2 ) {
        !           532:                if(yychar < 0) {
        !           533:                        yychar = yylex();
        !           534: #ifdef YYDEBUG
        !           535:                        if(yydebug >= 2)
        !           536:                                if(yychar < 0)
        !           537:                                        printf("lex EOF\n");
        !           538:                                else
        !           539:                                        printf("lex %s\n", yytoknames[yychar]);
        !           540: #endif
        !           541:                        if(yychar < 0)
        !           542:                                yychar = 0;
        !           543:                }
        !           544:                /* look through exception table */
        !           545:                for(yyxi=yyexca; (*yyxi!= (-1)) || (yyxi[1]!=yystate);
        !           546:                        yyxi += 2 ) ; /* VOID */
        !           547:                while( *(yyxi+=2) >= 0 ){
        !           548:                        if( *yyxi == yychar ) break;
        !           549:                }
        !           550:                if( (yyn = yyxi[1]) < 0 ) return(0);   /* accept */
        !           551:        }
        !           552:        if( yyn == 0 ){ /* error */
        !           553:                /* error ... attempt to resume parsing */
        !           554:                switch( yyerrflag ){
        !           555:                case 0:   /* brand new error */
        !           556: #ifdef YYDEBUG
        !           557:                        yyerror("syntax error\n%s", yystates[yystate]);
        !           558:                        if(yytoknames[yychar])
        !           559:                                yyerror("saw %s\n", yytoknames[yychar]);
        !           560:                        else if(yychar >= ' ' && yychar < '\177')
        !           561:                                yyerror("saw `%c'\n", yychar);
        !           562:                        else if(yychar == 0)
        !           563:                                yyerror("saw EOF\n");
        !           564:                        else
        !           565:                                yyerror("saw char 0%o\n", yychar);
        !           566: #else
        !           567:                        yyerror( "syntax error" );
        !           568: #endif
        !           569: yyerrlab:
        !           570:                        ++yynerrs;
        !           571:                case 1:
        !           572:                case 2: /* incompletely recovered error ... try again */
        !           573:                        yyerrflag = 3;
        !           574:                        /* find a state where "error" is a legal shift action */
        !           575:                        while ( yyps >= yys ) {
        !           576:                                yyn = yypact[*yyps] + YYERRCODE;
        !           577:                                if( yyn>= 0 && yyn < YYLAST && yychk[yyact[yyn]] == YYERRCODE ){
        !           578:                                        yystate = yyact[yyn];  /* simulate a shift of "error" */
        !           579:                                        goto yystack;
        !           580:                                }
        !           581:                                yyn = yypact[*yyps];
        !           582:                                /* the current yyps has no shift onn "error", pop stack */
        !           583: #ifdef YYDEBUG
        !           584:                                if( yydebug ) printf( "error recovery pops state %d, uncovers %d\n", *yyps, yyps[-1] );
        !           585: #endif
        !           586:                                --yyps;
        !           587:                                --yypv;
        !           588:                        }
        !           589:                        /* there is no state on the stack with an error shift ... abort */
        !           590: yyabort:
        !           591:                        return(1);
        !           592:                case 3:  /* no shift yet; clobber input char */
        !           593: #ifdef YYDEBUG
        !           594:                        if( yydebug ) {
        !           595:                                printf("error recovery discards ");
        !           596:                                if(yytoknames[yychar])
        !           597:                                        printf("%s\n", yytoknames[yychar]);
        !           598:                                else if(yychar >= ' ' && yychar < '\177')
        !           599:                                        printf("`%c'\n", yychar);
        !           600:                                else if(yychar == 0)
        !           601:                                        printf("EOF\n");
        !           602:                                else
        !           603:                                        printf("char 0%o\n", yychar);
        !           604:                        }
        !           605: #endif
        !           606:                        if( yychar == 0 ) goto yyabort; /* don't discard EOF, quit */
        !           607:                        yychar = -1;
        !           608:                        goto yynewstate;   /* try again in the same state */
        !           609:                }
        !           610:        }
        !           611:        /* reduction by production yyn */
        !           612: #ifdef YYDEBUG
        !           613:        if(yydebug) {   char *s;
        !           614:                printf("reduce %d in:\n\t", yyn);
        !           615:                for(s = yystates[yystate]; *s; s++) {
        !           616:                        putchar(*s);
        !           617:                        if(*s == '\n' && *(s+1))
        !           618:                                putchar('\t');
        !           619:                }
        !           620:        }
        !           621: #endif
        !           622:        yyps -= yyr2[yyn];
        !           623:        yypvt = yypv;
        !           624:        yypv -= yyr2[yyn];
        !           625:        yyval = yypv[1];
        !           626:        yym=yyn;
        !           627:        /* consult goto table to find next state */
        !           628:        yyn = yyr1[yyn];
        !           629:        yyj = yypgo[yyn] + *yyps + 1;
        !           630:        if( yyj>=YYLAST || yychk[ yystate = yyact[yyj] ] != -yyn ) yystate = yyact[yypgo[yyn]];
        !           631:        switch(yym){
        !           632:                
        !           633: case 1:
        !           634: # line 64 "x.y"
        !           635: { return 1; } break;
        !           636: case 2:
        !           637: # line 65 "x.y"
        !           638: { munge(yypvt[-0].resu); return 1; } break;
        !           639: case 3:
        !           640: # line 66 "x.y"
        !           641: { postfunct(yypvt[-2].sym); return 1; } break;
        !           642: case 4:
        !           643: # line 67 "x.y"
        !           644: { redirect(yypvt[-1].sym->name);
        !           645:                                  checkit();
        !           646:                                  return 1;
        !           647:                                } break;
        !           648: case 5:
        !           649: # line 71 "x.y"
        !           650: { return 0; } break;
        !           651: case 6:
        !           652: # line 73 "x.y"
        !           653: { prefunct(yypvt[-3].sym, nrparams); yyval.sym = yypvt[-3].sym; } break;
        !           654: case 7:
        !           655: # line 74 "x.y"
        !           656: { prefunct(yypvt[-3].sym, nrparams); yyval.sym = yypvt[-3].sym; } break;
        !           657: case 8:
        !           658: # line 76 "x.y"
        !           659: { /* if (INPUT == stdin) linenumber--; */ } break;
        !           660: case 9:
        !           661: # line 77 "x.y"
        !           662: { append( 0,  0,  0,  0, yypvt[-0].sym->name); } break;
        !           663: case 10:
        !           664: # line 78 "x.y"
        !           665: { append(yypvt[-4].resu, yypvt[-3].resu, yypvt[-2].resu, yypvt[-1].resu, yypvt[-0].sym->name); } break;
        !           666: case 11:
        !           667: # line 79 "x.y"
        !           668: { discard(yypvt[-0].sym->name); } break;
        !           669: case 12:
        !           670: # line 80 "x.y"
        !           671: { if (yypvt[-0].resu > 1 && yypvt[-0].resu <= nsrc-1)
        !           672:                                        discard(src[yypvt[-0].resu].fname);
        !           673:                                  else
        !           674:                                        yyerror("unknown file number %d", yypvt[-0].resu);
        !           675:                                } break;
        !           676: case 13:
        !           677: # line 85 "x.y"
        !           678: { if (yypvt[-0].resu > 1 && yypvt[-0].resu <= nsrc-1)
        !           679:                                        discard(src[yypvt[-0].resu].fname);
        !           680:                                  else
        !           681:                                        yyerror("unknown file number %d", yypvt[-0].resu);
        !           682:                                } break;
        !           683: case 14:
        !           684: # line 90 "x.y"
        !           685: { files(); } break;
        !           686: case 15:
        !           687: # line 91 "x.y"
        !           688: { getscreen(Old); } break;
        !           689: case 16:
        !           690: # line 92 "x.y"
        !           691: { getter(yypvt[-0].resu); } break;
        !           692: case 17:
        !           693: # line 93 "x.y"
        !           694: { getter(append( 0,  0,  0,  0, yypvt[-0].sym->name)); } break;
        !           695: case 18:
        !           696: # line 94 "x.y"
        !           697: { getter(append(yypvt[-4].resu, yypvt[-3].resu, yypvt[-2].resu, yypvt[-1].resu, yypvt[-0].sym->name)); } break;
        !           698: case 20:
        !           699: # line 96 "x.y"
        !           700: { faster = 1; } break;
        !           701: case 21:
        !           702: # line 97 "x.y"
        !           703: { faster = 0; } break;
        !           704: case 22:
        !           705: # line 98 "x.y"
        !           706: { seetree = 1 - seetree; } break;
        !           707: case 23:
        !           708: # line 99 "x.y"
        !           709: { optim = 1 - optim; } break;
        !           710: case 24:
        !           711: # line 100 "x.y"
        !           712: { Old->nchan = Scratch->nchan = 1; } break;
        !           713: case 25:
        !           714: # line 101 "x.y"
        !           715: { Old->nchan = Scratch->nchan = 3;
        !           716:                                  checkpix(Old); checkpix(Scratch);
        !           717:                                } break;
        !           718: case 26:
        !           719: # line 104 "x.y"
        !           720: { dohelp(); } break;
        !           721: case 27:
        !           722: # line 105 "x.y"
        !           723: { showvars(); } break;
        !           724: case 28:
        !           725: # line 106 "x.y"
        !           726: { showsym(yypvt[-0].sym); } break;
        !           727: case 29:
        !           728: # line 107 "x.y"
        !           729: { showfcts(); } break;
        !           730: case 30:
        !           731: # line 108 "x.y"
        !           732: { setwindow(yypvt[-3].resu, yypvt[-2].resu, yypvt[-1].resu, yypvt[-0].resu); } break;
        !           733: case 31:
        !           734: # line 109 "x.y"
        !           735: { putdpix(yypvt[-0].sym->name, PICO); } break;
        !           736: case 32:
        !           737: # line 110 "x.y"
        !           738: { putdpix(yypvt[-0].sym->name, 0); } break;
        !           739: case 33:
        !           740: # line 112 "x.y"
        !           741: { yyval.resu = yypvt[-0].resu; } break;
        !           742: case 34:
        !           743: # line 113 "x.y"
        !           744: { yyval.resu = append(yypvt[-2].resu, yypvt[-1].resu,  0,  0, src[yypvt[-0].resu].fname); } break;
        !           745: case 35:
        !           746: # line 114 "x.y"
        !           747: { yyval.resu = append(yypvt[-4].resu, yypvt[-3].resu, yypvt[-2].resu, yypvt[-1].resu, src[yypvt[-0].resu].fname); } break;
        !           748: case 36:
        !           749: # line 116 "x.y"
        !           750: { interpret(yypvt[-0].sym->name); } break;
        !           751: case 37:
        !           752: # line 117 "x.y"
        !           753: { interpret(yypvt[-0].sym->name); } break;
        !           754: case 40:
        !           755: # line 122 "x.y"
        !           756: { automa(yypvt[-0].sym, nrparams++); } break;
        !           757: case 41:
        !           758: # line 123 "x.y"
        !           759: { automa(yypvt[-0].sym, nrparams++); } break;
        !           760: case 42:
        !           761: # line 125 "x.y"
        !           762: { compile(yypvt[-0].node, progr); yyval.resu = BLOOP; } break;
        !           763: case 43:
        !           764: # line 126 "x.y"
        !           765: { compile(yypvt[-1].node, progr); yyval.resu = SLOOP; } break;
        !           766: case 44:
        !           767: # line 127 "x.y"
        !           768: { compile(yypvt[-1].node, progr); yyval.resu = NLOOP; } break;
        !           769: case 45:
        !           770: # line 129 "x.y"
        !           771: { yyval.node = mapall(cast(yypvt[-0].node)); } break;
        !           772: case 46:
        !           773: # line 130 "x.y"
        !           774: { yyval.node = mapall(yypvt[-0].node); } break;
        !           775: case 47:
        !           776: # line 131 "x.y"
        !           777: { yyval.node = mapred(cast(yypvt[-0].node)); } break;
        !           778: case 48:
        !           779: # line 132 "x.y"
        !           780: { yyval.node = mapgrn(cast(yypvt[-0].node)); } break;
        !           781: case 49:
        !           782: # line 133 "x.y"
        !           783: { yyval.node = mapblu(cast(yypvt[-0].node)); } break;
        !           784: case 54:
        !           785: # line 141 "x.y"
        !           786: { isglobal = 1; } break;
        !           787: case 55:
        !           788: # line 142 "x.y"
        !           789: { isglobal = 0; } break;
        !           790: case 61:
        !           791: # line 151 "x.y"
        !           792: { decvar(yypvt[-0].sym, 0); } break;
        !           793: case 62:
        !           794: # line 152 "x.y"
        !           795: { decvar(yypvt[-0].sym, 0); } break;
        !           796: case 63:
        !           797: # line 153 "x.y"
        !           798: { decvar(yypvt[-2].sym, yypvt[-0].resu); } break;
        !           799: case 64:
        !           800: # line 154 "x.y"
        !           801: { decvar(yypvt[-2].sym, yypvt[-0].resu); } break;
        !           802: case 65:
        !           803: # line 156 "x.y"
        !           804: { decarray(yypvt[-3].sym, yypvt[-1].resu); } break;
        !           805: case 66:
        !           806: # line 157 "x.y"
        !           807: { decarray(yypvt[-3].sym, yypvt[-1].resu); } break;
        !           808: case 67:
        !           809: # line 159 "x.y"
        !           810: { yyval.sym = newsym("x"); } break;
        !           811: case 68:
        !           812: # line 160 "x.y"
        !           813: { yyval.sym = newsym("y"); } break;
        !           814: case 69:
        !           815: # line 161 "x.y"
        !           816: { yyval.sym = newsym("i"); } break;
        !           817: case 70:
        !           818: # line 163 "x.y"
        !           819: { yyval.node = yypvt[-2].node; } break;
        !           820: case 71:
        !           821: # line 165 "x.y"
        !           822: { yyval.node = yypvt[-0].node; } break;
        !           823: case 72:
        !           824: # line 166 "x.y"
        !           825: { yyval.node = new(OCOMMA, yypvt[-1].node, yypvt[-0].node, Z); } break;
        !           826: case 73:
        !           827: # line 168 "x.y"
        !           828: { yyval.node =  Z; } break;
        !           829: case 74:
        !           830: # line 169 "x.y"
        !           831: { yyval.node = yypvt[-1].node; } break;
        !           832: case 75:
        !           833: # line 171 "x.y"
        !           834: { yyval.node = cast(yypvt[-0].node); } break;
        !           835: case 76:
        !           836: # line 172 "x.y"
        !           837: { yyval.node = new(ACOMMA, cast(yypvt[-2].node), yypvt[-0].node, Z); } break;
        !           838: case 77:
        !           839: # line 174 "x.y"
        !           840: { yyval.node = yypvt[-2].node; } break;
        !           841: case 78:
        !           842: # line 175 "x.y"
        !           843: { yyval.node = yypvt[-2].node; } break;
        !           844: case 79:
        !           845: # line 177 "x.y"
        !           846: { yyval.sym = yypvt[-0].sym; } break;
        !           847: case 80:
        !           848: # line 178 "x.y"
        !           849: { yyval.sym = yypvt[-0].sym; } break;
        !           850: case 81:
        !           851: # line 179 "x.y"
        !           852: { yyval.sym = yypvt[-0].sym; } break;
        !           853: case 82:
        !           854: # line 180 "x.y"
        !           855: { yyval.sym = yypvt[-0].sym; } break;
        !           856: case 83:
        !           857: # line 181 "x.y"
        !           858: { yyval.sym = yypvt[-0].sym; } break;
        !           859: case 84:
        !           860: # line 182 "x.y"
        !           861: { yyval.sym = yypvt[-0].sym; } break;
        !           862: case 85:
        !           863: # line 183 "x.y"
        !           864: { yyval.sym = yypvt[-0].sym; } break;
        !           865: case 86:
        !           866: # line 184 "x.y"
        !           867: { yyval.sym = lookup(yypvt[-0].resu); } break;
        !           868: case 87:
        !           869: # line 186 "x.y"
        !           870: { yyval.sym = yypvt[-0].sym; } break;
        !           871: case 88:
        !           872: # line 188 "x.y"
        !           873: { yyval.node = yypvt[-1].node; } break;
        !           874: case 89:
        !           875: # line 189 "x.y"
        !           876: { yyval.node = new(LABL,yypvt[-0].node, Z, yypvt[-2].sym); } break;
        !           877: case 90:
        !           878: # line 190 "x.y"
        !           879: { yyval.node = new(GOTO, Z, Z, yypvt[-1].sym); } break;
        !           880: case 91:
        !           881: # line 191 "x.y"
        !           882: { yyval.node = yypvt[-0].node; } break;
        !           883: case 92:
        !           884: # line 192 "x.y"
        !           885: { yyval.node = yypvt[-1].node; } break;
        !           886: case 93:
        !           887: # line 194 "x.y"
        !           888: { yyval.node = yypvt[-1].node; } break;
        !           889: case 94:
        !           890: # line 195 "x.y"
        !           891: { yyval.node = Z; } break;
        !           892: case 95:
        !           893: # line 196 "x.y"
        !           894: { yyval.node = yypvt[-1].node; } break;
        !           895: case 96:
        !           896: # line 197 "x.y"
        !           897: { yyval.node = new(CONDI, yypvt[-0].node, Z, yypvt[-1].node); } break;
        !           898: case 97:
        !           899: # line 198 "x.y"
        !           900: { yyval.node = new(CONDI, yypvt[-3].node, yypvt[-0].node, yypvt[-4].node); } break;
        !           901: case 98:
        !           902: # line 199 "x.y"
        !           903: {
        !           904:                                  yyval.node = newloop(yypvt[-7].node, yypvt[-5].node, yypvt[-3].node, yypvt[-0].node); } break;
        !           905: case 99:
        !           906: # line 201 "x.y"
        !           907: { yyval.node = newhile(yypvt[-1].node, yypvt[-0].node); } break;
        !           908: case 100:
        !           909: # line 202 "x.y"
        !           910: { yyval.node = newuntil(yypvt[-5].node, yypvt[-2].node); } break;
        !           911: case 101:
        !           912: # line 203 "x.y"
        !           913: { yyval.node = new(ORETURN, yypvt[-1].node, Z, Z); } break;
        !           914: case 102:
        !           915: # line 205 "x.y"
        !           916: { usedboth; yyval.snode = super(CURSCRATCH, Z, BW); } break;
        !           917: case 103:
        !           918: # line 206 "x.y"
        !           919: { usedboth; yyval.snode = super(CURSCRATCH, Z, RGB); } break;
        !           920: case 104:
        !           921: # line 207 "x.y"
        !           922: { usedboth; yyval.snode = super(CURSCRATCH, Z, RCHAN); } break;
        !           923: case 105:
        !           924: # line 208 "x.y"
        !           925: { usedboth; yyval.snode = super(CURSCRATCH, Z, GCHAN); } break;
        !           926: case 106:
        !           927: # line 209 "x.y"
        !           928: { usedboth; yyval.snode = super(CURSCRATCH, Z, BCHAN); } break;
        !           929: case 107:
        !           930: # line 210 "x.y"
        !           931: { yyval.snode = super(yypvt[-0].resu, Z, (src[yypvt[-0].resu].nchan == 1)?BW:RGB); } break;
        !           932: case 108:
        !           933: # line 211 "x.y"
        !           934: { yyval.snode = super(yypvt[-2].resu, Z, RGB); } break;
        !           935: case 109:
        !           936: # line 212 "x.y"
        !           937: { yyval.snode = super(yypvt[-2].resu, Z, BW);  } break;
        !           938: case 110:
        !           939: # line 213 "x.y"
        !           940: { yyval.snode = super(yypvt[-2].resu, Z, RCHAN); } break;
        !           941: case 111:
        !           942: # line 214 "x.y"
        !           943: { yyval.snode = super(yypvt[-2].resu, Z, GCHAN); } break;
        !           944: case 112:
        !           945: # line 215 "x.y"
        !           946: { yyval.snode = super(yypvt[-2].resu, Z, BCHAN); } break;
        !           947: case 113:
        !           948: # line 216 "x.y"
        !           949: { yyval.snode = super(yypvt[-3].resu, yypvt[-1].node,(src[yypvt[-3].resu].nchan == 1)?BW:RGB); } break;
        !           950: case 114:
        !           951: # line 217 "x.y"
        !           952: { yyval.snode = super(yypvt[-5].resu, yypvt[-3].node, RGB); } break;
        !           953: case 115:
        !           954: # line 218 "x.y"
        !           955: { yyval.snode = super(yypvt[-5].resu, yypvt[-3].node, BW);  } break;
        !           956: case 116:
        !           957: # line 219 "x.y"
        !           958: { yyval.snode = super(yypvt[-5].resu, yypvt[-3].node, RCHAN); } break;
        !           959: case 117:
        !           960: # line 220 "x.y"
        !           961: { yyval.snode = super(yypvt[-5].resu, yypvt[-3].node, GCHAN); } break;
        !           962: case 118:
        !           963: # line 221 "x.y"
        !           964: { yyval.snode = super(yypvt[-5].resu, yypvt[-3].node, BCHAN); } break;
        !           965: case 119:
        !           966: # line 222 "x.y"
        !           967: { yyval.snode = super(yypvt[-5].resu, yypvt[-1].node, RGB); } break;
        !           968: case 120:
        !           969: # line 223 "x.y"
        !           970: { yyval.snode = super(yypvt[-5].resu, yypvt[-1].node, BW);  } break;
        !           971: case 121:
        !           972: # line 224 "x.y"
        !           973: { yyval.snode = super(yypvt[-5].resu, yypvt[-1].node, RCHAN); } break;
        !           974: case 122:
        !           975: # line 225 "x.y"
        !           976: { yyval.snode = super(yypvt[-5].resu, yypvt[-1].node, GCHAN); } break;
        !           977: case 123:
        !           978: # line 226 "x.y"
        !           979: { yyval.snode = super(yypvt[-5].resu, yypvt[-1].node, BCHAN); } break;
        !           980: case 124:
        !           981: # line 227 "x.y"
        !           982: { yyval.snode=nsup(RL((yypvt[-3].sym->u.ar->base),Index(yypvt[-1].node)),0,0,128);} break;
        !           983: case 125:
        !           984: # line 228 "x.y"
        !           985: { yyval.snode=nsup(RL((yypvt[-0].sym->u.ar->base),DII), 0,0,128); } break;
        !           986: case 126:
        !           987: # line 230 "x.y"
        !           988: { yyval.node = weird(yypvt[-1].snode, notnew(LO, yypvt[-1].snode->n, NR(1))); } break;
        !           989: case 127:
        !           990: # line 231 "x.y"
        !           991: { yyval.node = weird(yypvt[-2].snode, notnew(LO, yypvt[-2].snode->n, yypvt[-0].node)); } break;
        !           992: case 128:
        !           993: # line 232 "x.y"
        !           994: { yyval.node = weird(yypvt[-2].snode, yypvt[-0].node); } break;
        !           995: case 129:
        !           996: # line 234 "x.y"
        !           997: { yyval.node = yypvt[-0].snode->n; } break;
        !           998: case 130:
        !           999: # line 235 "x.y"
        !          1000: { yyval.node = yypvt[-0].node;    } break;
        !          1001: case 131:
        !          1002: # line 237 "x.y"
        !          1003: { yyval.snode = nsup(new(REG, Z, Z, XREG), 0, 0, 128); } break;
        !          1004: case 132:
        !          1005: # line 238 "x.y"
        !          1006: { yyval.snode = nsup(new(REG, Z, Z, YREG), 0, 0, 128); } break;
        !          1007: case 133:
        !          1008: # line 239 "x.y"
        !          1009: { yyval.snode = nsup(new(REG, Z, Z, IREG), 0, 0, 128); } break;
        !          1010: case 134:
        !          1011: # line 240 "x.y"
        !          1012: { yyval.snode = yypvt[-0].snode; } break;
        !          1013: case 135:
        !          1014: # line 241 "x.y"
        !          1015: { yyerror("undeclared variable %s", yypvt[-0].sym->name); } break;
        !          1016: case 136:
        !          1017: # line 242 "x.y"
        !          1018: { yyval.snode = nsup(new(VAR,  Z, Z, &yypvt[-0].sym->u.val), 0,0,128);} break;
        !          1019: case 137:
        !          1020: # line 243 "x.y"
        !          1021: { yyval.snode = nsup(new(OARG, Z, Z,  yypvt[-0].sym->u.val), 0,0,128);} break;
        !          1022: case 138:
        !          1023: # line 245 "x.y"
        !          1024: { if (yypvt[-1].sym->u.fu->usednew == -1 && notrecurcall(yypvt[-1].sym))
        !          1025:                                        yyerror("undefined function %s", yypvt[-1].sym->name);
        !          1026:                                  argcount(yypvt[-1].sym->u.fu->nrparams, yypvt[-0].node, yypvt[-1].sym->name);
        !          1027:                                  usednew += yypvt[-1].sym->u.fu->usednew;
        !          1028:                                  usedold += yypvt[-1].sym->u.fu->usedold;
        !          1029:                                  yyval.node = new(OCALL, yypvt[-0].node, Z, yypvt[-1].sym->u.fu->fct);
        !          1030:                                } break;
        !          1031: case 139:
        !          1032: # line 252 "x.y"
        !          1033: { argcount(yypvt[-1].sym->u.bl->nrparams, yypvt[-0].node, yypvt[-1].sym->name);
        !          1034:                                  usednew += yypvt[-1].sym->u.bl->usednew;
        !          1035:                                  yyval.node = new(CCALL, yypvt[-0].node, Z, yypvt[-1].sym->u.bl->faddr);
        !          1036:                                } break;
        !          1037: case 140:
        !          1038: # line 257 "x.y"
        !          1039: { yyval.resu = yypvt[-0].resu; } break;
        !          1040: case 141:
        !          1041: # line 258 "x.y"
        !          1042: { yyval.resu = -yypvt[-0].resu; } break;
        !          1043: case 142:
        !          1044: # line 260 "x.y"
        !          1045: { yyval.resu = yypvt[-0].resu; } break;
        !          1046: case 143:
        !          1047: # line 261 "x.y"
        !          1048: { yyval.resu = yypvt[-0].sym->u.val; } break;
        !          1049: case 144:
        !          1050: # line 262 "x.y"
        !          1051: { compile(yypvt[-0].node, progr); yyval.resu = callit(); } break;
        !          1052: case 145:
        !          1053: # line 264 "x.y"
        !          1054: { yyval.node = yypvt[-0].node; } break;
        !          1055: case 146:
        !          1056: # line 265 "x.y"
        !          1057: { yyval.node = yypvt[-0].node; } break;
        !          1058: case 147:
        !          1059: # line 266 "x.y"
        !          1060: { yyval.node = yypvt[-1].node; } break;
        !          1061: case 148:
        !          1062: # line 267 "x.y"
        !          1063: { yyval.node = new(COMP, yypvt[-1].node, Z, Z); } break;
        !          1064: case 149:
        !          1065: # line 268 "x.y"
        !          1066: { yyval.node = NR(yypvt[-0].resu); } break;
        !          1067: case 150:
        !          1068: # line 269 "x.y"
        !          1069: { yyval.node = NR(yypvt[-0].resu); } break;
        !          1070: case 151:
        !          1071: # line 270 "x.y"
        !          1072: { yyval.node = new(CONDI, yypvt[-2].node, yypvt[-0].node, yypvt[-4].node); } break;
        !          1073: case 152:
        !          1074: # line 271 "x.y"
        !          1075: { yyval.node = new(OMINUS, yypvt[-0].node, Z, Z); } break;
        !          1076: case 153:
        !          1077: # line 272 "x.y"
        !          1078: { yyval.node = new(ONEG, yypvt[-0].node, Z, Z); } break;
        !          1079: case 154:
        !          1080: # line 273 "x.y"
        !          1081: { yyval.node = new(ONOT, yypvt[-0].node, Z, Z); } break;
        !          1082: case 155:
        !          1083: # line 274 "x.y"
        !          1084: { yyval.node = notnew(OADD, yypvt[-2].node, yypvt[-0].node); } break;
        !          1085: case 156:
        !          1086: # line 275 "x.y"
        !          1087: { yyval.node = notnew(OSUB, yypvt[-2].node, yypvt[-0].node); } break;
        !          1088: case 157:
        !          1089: # line 276 "x.y"
        !          1090: { yyval.node = notnew(OMUL, yypvt[-2].node, yypvt[-0].node); } break;
        !          1091: case 158:
        !          1092: # line 277 "x.y"
        !          1093: { yyval.node = notnew(DIVV, yypvt[-2].node, yypvt[-0].node); } break;
        !          1094: case 159:
        !          1095: # line 278 "x.y"
        !          1096: { yyval.node = notnew(MODU, yypvt[-2].node, yypvt[-0].node); } break;
        !          1097: case 160:
        !          1098: # line 279 "x.y"
        !          1099: { yyval.node = notnew(OXOR, yypvt[-2].node, yypvt[-0].node); } break;
        !          1100: case 161:
        !          1101: # line 280 "x.y"
        !          1102: { yyval.node = notnew(OPOW, yypvt[-2].node, yypvt[-0].node); } break;
        !          1103: case 162:
        !          1104: # line 281 "x.y"
        !          1105: { yyval.node = notnew(OGT,  yypvt[-2].node, yypvt[-0].node); } break;
        !          1106: case 163:
        !          1107: # line 282 "x.y"
        !          1108: { yyval.node = notnew(OGE,  yypvt[-2].node, yypvt[-0].node); } break;
        !          1109: case 164:
        !          1110: # line 283 "x.y"
        !          1111: { yyval.node = notnew(OLT,  yypvt[-2].node, yypvt[-0].node); } break;
        !          1112: case 165:
        !          1113: # line 284 "x.y"
        !          1114: { yyval.node = notnew(OLE,  yypvt[-2].node, yypvt[-0].node); } break;
        !          1115: case 166:
        !          1116: # line 285 "x.y"
        !          1117: { yyval.node = notnew(OEQ,  yypvt[-2].node, yypvt[-0].node); } break;
        !          1118: case 167:
        !          1119: # line 286 "x.y"
        !          1120: { yyval.node = notnew(ONE,  yypvt[-2].node, yypvt[-0].node); } break;
        !          1121: case 168:
        !          1122: # line 287 "x.y"
        !          1123: { yyval.node = notnew(OANDAND, yypvt[-2].node, yypvt[-0].node); } break;
        !          1124: case 169:
        !          1125: # line 288 "x.y"
        !          1126: { yyval.node = notnew(OOROR, yypvt[-2].node, yypvt[-0].node); } break;
        !          1127: case 170:
        !          1128: # line 289 "x.y"
        !          1129: { yyval.node = notnew(OOR,  yypvt[-2].node, yypvt[-0].node); } break;
        !          1130: case 171:
        !          1131: # line 290 "x.y"
        !          1132: { yyval.node = notnew(OAND, yypvt[-2].node, yypvt[-0].node); } break;
        !          1133: case 172:
        !          1134: # line 291 "x.y"
        !          1135: { yyval.node = notnew(OLSH, yypvt[-2].node, yypvt[-0].node); } break;
        !          1136: case 173:
        !          1137: # line 292 "x.y"
        !          1138: { yyval.node = notnew(OLSH, yypvt[-2].node, notnew(OMINUS, yypvt[-0].node, Z)); } break;
        !          1139: case 174:
        !          1140: # line 294 "x.y"
        !          1141: { usednew=usedold=1; yyval.resu = CURSCRATCH; } break;
        !          1142: case 175:
        !          1143: # line 295 "x.y"
        !          1144: { usedold=1; yyval.resu = CUROLD; } break;
        !          1145: case 176:
        !          1146: # line 296 "x.y"
        !          1147: { usednew=usedold=1; yyval.resu = CURSCRATCH; } break;
        !          1148: case 177:
        !          1149: # line 297 "x.y"
        !          1150: { usedold=1; yyval.resu = CUROLD; } break;
        !          1151: case 178:
        !          1152: # line 298 "x.y"
        !          1153: { int x = yypvt[-0].resu;
        !          1154:                                  if (x < 0 || x > nsrc-2)
        !          1155:                                        yyerror("unknown file number %d", x);
        !          1156:                                  x = (x == 0) ? CUROLD : x+1;
        !          1157:                                  if (x == CUROLD)
        !          1158:                                        usedold=1;
        !          1159:                                  else
        !          1160:                                        src[x].used = 1;
        !          1161:                                  yyval.resu = x;
        !          1162:                                } break;
        !          1163: case 179:
        !          1164: # line 308 "x.y"
        !          1165: { int x = whatarray(yypvt[-0].sym->name);
        !          1166:                                  if (x <= 0)
        !          1167:                                        x = prepare(yypvt[-0].sym->name);
        !          1168:                                  if (x <= 0)
        !          1169:                                        yyerror("unknown file %s", yypvt[-0].sym->name);
        !          1170:                                  src[x].used = 1;
        !          1171:                                  yyval.resu = x;
        !          1172:                                } break;
        !          1173:        }
        !          1174:        goto yystack;  /* stack new state and value */
        !          1175: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.