Annotation of researchv10no/cmd/f2c/gram.c, revision 1.1.1.1

1.1       root        1: # define SEOS 1
                      2: # define SCOMMENT 2
                      3: # define SLABEL 3
                      4: # define SUNKNOWN 4
                      5: # define SHOLLERITH 5
                      6: # define SICON 6
                      7: # define SRCON 7
                      8: # define SDCON 8
                      9: # define SBITCON 9
                     10: # define SOCTCON 10
                     11: # define SHEXCON 11
                     12: # define STRUE 12
                     13: # define SFALSE 13
                     14: # define SNAME 14
                     15: # define SNAMEEQ 15
                     16: # define SFIELD 16
                     17: # define SSCALE 17
                     18: # define SINCLUDE 18
                     19: # define SLET 19
                     20: # define SASSIGN 20
                     21: # define SAUTOMATIC 21
                     22: # define SBACKSPACE 22
                     23: # define SBLOCK 23
                     24: # define SCALL 24
                     25: # define SCHARACTER 25
                     26: # define SCLOSE 26
                     27: # define SCOMMON 27
                     28: # define SCOMPLEX 28
                     29: # define SCONTINUE 29
                     30: # define SDATA 30
                     31: # define SDCOMPLEX 31
                     32: # define SDIMENSION 32
                     33: # define SDO 33
                     34: # define SDOUBLE 34
                     35: # define SELSE 35
                     36: # define SELSEIF 36
                     37: # define SEND 37
                     38: # define SENDFILE 38
                     39: # define SENDIF 39
                     40: # define SENTRY 40
                     41: # define SEQUIV 41
                     42: # define SEXTERNAL 42
                     43: # define SFORMAT 43
                     44: # define SFUNCTION 44
                     45: # define SGOTO 45
                     46: # define SASGOTO 46
                     47: # define SCOMPGOTO 47
                     48: # define SARITHIF 48
                     49: # define SLOGIF 49
                     50: # define SIMPLICIT 50
                     51: # define SINQUIRE 51
                     52: # define SINTEGER 52
                     53: # define SINTRINSIC 53
                     54: # define SLOGICAL 54
                     55: # define SNAMELIST 55
                     56: # define SOPEN 56
                     57: # define SPARAM 57
                     58: # define SPAUSE 58
                     59: # define SPRINT 59
                     60: # define SPROGRAM 60
                     61: # define SPUNCH 61
                     62: # define SREAD 62
                     63: # define SREAL 63
                     64: # define SRETURN 64
                     65: # define SREWIND 65
                     66: # define SSAVE 66
                     67: # define SSTATIC 67
                     68: # define SSTOP 68
                     69: # define SSUBROUTINE 69
                     70: # define STHEN 70
                     71: # define STO 71
                     72: # define SUNDEFINED 72
                     73: # define SWRITE 73
                     74: # define SLPAR 74
                     75: # define SRPAR 75
                     76: # define SEQUALS 76
                     77: # define SCOLON 77
                     78: # define SCOMMA 78
                     79: # define SCURRENCY 79
                     80: # define SPLUS 80
                     81: # define SMINUS 81
                     82: # define SSTAR 82
                     83: # define SSLASH 83
                     84: # define SPOWER 84
                     85: # define SCONCAT 85
                     86: # define SAND 86
                     87: # define SOR 87
                     88: # define SNEQV 88
                     89: # define SEQV 89
                     90: # define SNOT 90
                     91: # define SEQ 91
                     92: # define SLT 92
                     93: # define SGT 93
                     94: # define SLE 94
                     95: # define SGE 95
                     96: # define SNE 96
                     97: # define SENDDO 97
                     98: # define SWHILE 98
                     99: # define SSLASHD 99
                    100: 
                    101: /* # line 124 "gram.in" */
                    102: #include "defs.h"
                    103: #include "p1defs.h"
                    104: 
                    105: static int nstars;                     /* Number of labels in an
                    106:                                           alternate return CALL */
                    107: static int datagripe;
                    108: static int ndim;
                    109: static int vartype;
                    110: int new_dcl;
                    111: static ftnint varleng;
                    112: static struct Dims dims[MAXDIM+1];
                    113: extern struct Labelblock **labarray;   /* Labels in an alternate
                    114:                                                   return CALL */
                    115: extern int maxlablist;
                    116: 
                    117: /* The next two variables are used to verify that each statement might be reached
                    118:    during runtime.   lastwasbranch   is tested only in the defintion of the
                    119:    stat:   nonterminal. */
                    120: 
                    121: int lastwasbranch = NO;
                    122: static int thiswasbranch = NO;
                    123: extern ftnint yystno;
                    124: extern flag intonly;
                    125: static chainp datastack;
                    126: extern long laststfcn, thisstno;
                    127: extern int can_include;        /* for netlib */
                    128: 
                    129: ftnint convci();
                    130: Addrp nextdata();
                    131: expptr mklogcon(), mkaddcon(), mkrealcon(), mkstrcon(), mkbitcon();
                    132: expptr mkcxcon();
                    133: struct Listblock *mklist();
                    134: struct Listblock *mklist();
                    135: struct Impldoblock *mkiodo();
                    136: Extsym *comblock();
                    137: #define ESNULL (Extsym *)0
                    138: #define NPNULL (Namep)0
                    139: #define LBNULL (struct Listblock *)0
                    140: extern void freetemps(), make_param();
                    141: 
                    142:  static void
                    143: pop_datastack() {
                    144:        chainp d0 = datastack;
                    145:        if (d0->datap)
                    146:                curdtp = (chainp)d0->datap;
                    147:        datastack = d0->nextp;
                    148:        d0->nextp = 0;
                    149:        frchain(&d0);
                    150:        }
                    151: 
                    152: 
                    153: /* # line 178 "gram.in" */
                    154: typedef union  {
                    155:        int ival;
                    156:        ftnint lval;
                    157:        char *charpval;
                    158:        chainp chval;
                    159:        tagptr tagval;
                    160:        expptr expval;
                    161:        struct Labelblock *labval;
                    162:        struct Nameblock *namval;
                    163:        struct Eqvchain *eqvval;
                    164:        Extsym *extval;
                    165:        } YYSTYPE;
                    166: #define yyclearin yychar = -1
                    167: #define yyerrok yyerrflag = 0
                    168: extern int yychar;
                    169: extern short yyerrflag;
                    170: #ifndef YYMAXDEPTH
                    171: #define YYMAXDEPTH 150
                    172: #endif
                    173: YYSTYPE yylval, yyval;
                    174: # define YYERRCODE 256
                    175: short yyexca[] ={
                    176: -1, 1,
                    177:        0, -1,
                    178:        -2, 0,
                    179: -1, 20,
                    180:        1, 38,
                    181:        -2, 228,
                    182: -1, 24,
                    183:        1, 42,
                    184:        -2, 228,
                    185: -1, 122,
                    186:        6, 240,
                    187:        -2, 228,
                    188: -1, 150,
                    189:        1, 244,
                    190:        -2, 188,
                    191: -1, 174,
                    192:        1, 265,
                    193:        78, 265,
                    194:        -2, 188,
                    195: -1, 223,
                    196:        77, 173,
                    197:        -2, 139,
                    198: -1, 245,
                    199:        74, 228,
                    200:        -2, 225,
                    201: -1, 271,
                    202:        1, 286,
                    203:        -2, 143,
                    204: -1, 275,
                    205:        1, 295,
                    206:        78, 295,
                    207:        -2, 145,
                    208: -1, 328,
                    209:        77, 174,
                    210:        -2, 141,
                    211: -1, 358,
                    212:        1, 267,
                    213:        14, 267,
                    214:        74, 267,
                    215:        78, 267,
                    216:        -2, 189,
                    217: -1, 436,
                    218:        91, 0,
                    219:        92, 0,
                    220:        93, 0,
                    221:        94, 0,
                    222:        95, 0,
                    223:        96, 0,
                    224:        -2, 153,
                    225: -1, 453,
                    226:        1, 289,
                    227:        78, 289,
                    228:        -2, 143,
                    229: -1, 455,
                    230:        1, 291,
                    231:        78, 291,
                    232:        -2, 143,
                    233: -1, 457,
                    234:        1, 293,
                    235:        78, 293,
                    236:        -2, 143,
                    237: -1, 459,
                    238:        1, 296,
                    239:        78, 296,
                    240:        -2, 144,
                    241: -1, 504,
                    242:        78, 289,
                    243:        -2, 143,
                    244:        };
                    245: # define YYNPROD 301
                    246: # define YYLAST 1346
                    247: short yyact[]={
                    248: 
                    249:  237, 274, 471, 317, 316, 412, 420, 297, 470, 399,
                    250:  413, 397, 386, 357, 398, 266, 128, 356, 273, 252,
                    251:  292,   5, 116, 295, 326, 303, 222,  99, 184, 121,
                    252:  195, 229,  17, 203, 270, 304, 313, 199, 201, 118,
                    253:   94, 202, 396, 104, 210, 183, 236, 101, 106, 234,
                    254:  264, 103, 111, 336, 260,  95,  96,  97, 165, 166,
                    255:  334, 335, 336, 395, 105, 311, 309, 190, 130, 131,
                    256:  132, 133, 120, 135, 119, 114, 157, 129, 157, 475,
                    257:  103, 272, 334, 335, 336, 396, 521, 103, 278, 483,
                    258:  535, 165, 166, 334, 335, 336, 342, 341, 340, 339,
                    259:  338, 137, 343, 345, 344, 347, 346, 348, 450, 258,
                    260:  259, 260, 539, 165, 166, 258, 259, 260, 261, 525,
                    261:  102, 522, 155, 409, 155, 186, 187, 103, 408, 117,
                    262:  165, 166, 258, 259, 260, 318, 100, 527, 484, 188,
                    263:  446, 185, 480, 230, 240, 240, 194, 193, 290, 120,
                    264:  211, 119, 462, 481, 157, 294, 482, 257, 157, 243,
                    265:  468, 214, 463, 469, 461, 464, 460, 239, 241, 220,
                    266:  215, 218, 157, 219, 213, 165, 166, 334, 335, 336,
                    267:  342, 341, 340, 157, 371, 452, 343, 345, 344, 347,
                    268:  346, 348, 443, 428, 377, 294, 102, 102, 102, 102,
                    269:  155, 189, 447, 149, 155, 446, 192, 103,  98, 196,
                    270:  197, 198, 277, 376, 320, 321, 206, 288, 155, 289,
                    271:  300, 375, 299, 324, 315, 328, 275, 275, 330, 155,
                    272:  310, 333, 196, 216, 217, 350, 269, 207, 308, 352,
                    273:  353, 333, 100, 177, 354, 349, 323, 112, 245, 257,
                    274:  247, 110, 157, 417, 286, 287, 418, 362, 157, 157,
                    275:  157, 157, 157, 257, 257, 109, 108, 268, 279, 280,
                    276:  281, 265, 107, 355,   4, 333, 427, 465, 378, 370,
                    277:  170, 172, 176, 257, 165, 166, 258, 259, 260, 261,
                    278:  102, 406, 232, 293, 407, 381, 422, 390, 155, 400,
                    279:  391, 223, 419, 422, 155, 155, 155, 155, 155, 117,
                    280:  221, 314, 392, 319, 387, 359, 372, 196, 360, 373,
                    281:  374, 333, 333, 536, 350, 333, 275, 250, 424, 333,
                    282:  405, 333, 410, 532, 230, 432, 433, 434, 435, 436,
                    283:  437, 438, 439, 440, 441, 403, 331, 156, 401, 332,
                    284:  531, 333, 530, 333, 333, 333, 388, 526, 380, 529,
                    285:  524, 157, 257, 333, 431, 492, 257, 257, 257, 257,
                    286:  257, 382, 383, 235, 426, 384, 358, 494, 296, 333,
                    287:  448, 165, 166, 258, 259, 260, 261, 451, 165, 166,
                    288:  258, 259, 260, 261, 103, 445, 472, 400, 421, 191,
                    289:  402, 196, 103, 150, 307, 174, 285, 155, 474, 246,
                    290:  476, 416, 467, 466, 242, 226, 223, 200, 212, 136,
                    291:  209, 486, 171, 488, 490, 275, 275, 275, 141, 240,
                    292:  496, 429, 329, 333, 333, 333, 333, 333, 333, 333,
                    293:  333, 333, 333, 403, 497, 479, 401, 403, 487, 154,
                    294:  257, 154, 495, 493, 306, 485, 502, 454, 456, 458,
                    295:  500, 491, 268, 499, 505, 506, 507, 103, 451, 271,
                    296:  271, 472,  30, 333, 414, 501, 400, 508, 511, 509,
                    297:  387, 244, 208, 510, 516, 514, 515, 333, 517, 333,
                    298:  513, 333, 520, 293, 518, 225, 240, 333, 402, 523,
                    299:   92, 248, 402, 528,   6, 262, 123, 249,  81,  80,
                    300:  275, 275, 275,  79, 534, 533, 479,  78, 173, 263,
                    301:  314,  77, 403,  76, 537, 401, 351, 154,  75, 333,
                    302:  282, 154,  60,  49,  48, 333,  45,  33, 333, 538,
                    303:  113, 205, 454, 456, 458, 154, 267, 165, 166, 334,
                    304:  335, 336, 342, 540, 503, 411, 154, 204, 394, 393,
                    305:  298, 478, 503, 503, 503, 134, 389, 312, 115, 379,
                    306:   26,  25,  24,  23, 302,  22, 305, 402,  21, 385,
                    307:  284,   9, 503,   8,   7,   2, 519, 301,  20, 319,
                    308:  164,  51, 489, 291, 228, 327, 325, 415,  91, 361,
                    309:  255,  53, 337,  19,  55, 365, 366, 367, 368, 369,
                    310:   37, 224,   3,   1,   0, 351,   0,   0,   0,   0,
                    311:    0,   0,   0,   0,   0, 154,   0,   0,   0,   0,
                    312:    0, 154, 154, 154, 154, 154,   0,   0,   0, 267,
                    313:    0, 512, 267, 267, 165, 166, 334, 335, 336, 342,
                    314:  341, 340, 339, 338,   0, 343, 345, 344, 347, 346,
                    315:  348, 165, 166, 334, 335, 336, 342, 341, 453, 455,
                    316:  457,   0, 343, 345, 344, 347, 346, 348,   0,   0,
                    317:  305,   0, 459,   0,   0,   0,   0, 165, 166, 334,
                    318:  335, 336, 342, 341, 340, 339, 338, 351, 343, 345,
                    319:  344, 347, 346, 348, 444,   0,   0,   0, 449, 165,
                    320:  166, 334, 335, 336, 342, 341, 340, 339, 338,   0,
                    321:  343, 345, 344, 347, 346, 348, 165, 166, 334, 335,
                    322:  336, 342,   0,   0, 154,   0, 498, 343, 345, 344,
                    323:  347, 346, 348,   0,   0, 267,   0,   0,   0,   0,
                    324:    0, 442,   0, 504, 455, 457, 165, 166, 334, 335,
                    325:  336, 342, 341, 340, 339, 338,   0, 343, 345, 344,
                    326:  347, 346, 348,   0,   0,   0,   0,   0,   0, 430,
                    327:    0, 477,   0, 305, 165, 166, 334, 335, 336, 342,
                    328:  341, 340, 339, 338,   0, 343, 345, 344, 347, 346,
                    329:  348, 423,   0,   0,   0,   0, 165, 166, 334, 335,
                    330:  336, 342, 341, 340, 339, 338,   0, 343, 345, 344,
                    331:  347, 346, 348,   0,   0,   0, 267,   0,   0,   0,
                    332:    0, 165, 166, 334, 335, 336, 342, 341, 340, 339,
                    333:  338,  12, 343, 345, 344, 347, 346, 348,   0,   0,
                    334:    0,   0,   0,   0, 305,  10,  56,  46,  73,  85,
                    335:   14,  61,  70,  90,  38,  66,  47,  42,  68,  72,
                    336:   31,  67,  35,  34,  11,  87,  36,  18,  41,  39,
                    337:   28,  16,  57,  58,  59,  50,  54,  43,  88,  64,
                    338:   40,  69,  44,  89,  29,  62,  84,  13,   0,  82,
                    339:   65,  52,  86,  27,  74,  63,  15,   0,   0,  71,
                    340:   83, 160, 161, 162, 163, 169, 168, 167, 158, 159,
                    341:  103,   0, 160, 161, 162, 163, 169, 168, 167, 158,
                    342:  159, 103,   0,   0,  32, 160, 161, 162, 163, 169,
                    343:  168, 167, 158, 159, 103,   0, 160, 161, 162, 163,
                    344:  169, 168, 167, 158, 159, 103,   0, 160, 161, 162,
                    345:  163, 169, 168, 167, 158, 159, 103,   0, 160, 161,
                    346:  162, 163, 169, 168, 167, 158, 159, 103,   0,   0,
                    347:  233,   0,   0,   0,   0,   0, 165, 166, 363,   0,
                    348:  364, 233, 227,   0,   0,   0, 238, 165, 166, 231,
                    349:    0,   0,   0,   0, 233,   0,   0, 238,   0,   0,
                    350:  165, 166, 473,   0,   0, 233,   0,   0,   0,   0,
                    351:  238, 165, 166, 231,   0,   0, 233,   0,   0,   0,
                    352:    0, 238, 165, 166, 425,   0,   0, 233,   0,   0,
                    353:    0,   0, 238, 165, 166,   0,   0,   0,   0,   0,
                    354:    0,   0,   0, 238, 160, 161, 162, 163, 169, 168,
                    355:  167, 158, 159, 103,   0, 160, 161, 162, 163, 169,
                    356:  168, 167, 158, 159, 103, 160, 161, 162, 163, 169,
                    357:  168, 167, 158, 159, 103,   0,   0,   0, 160, 161,
                    358:  162, 163, 169, 168, 167, 158, 159, 103, 256,   0,
                    359:   93, 160, 161, 162, 163, 169, 168, 167, 158, 159,
                    360:  103,   0,   0,   0,   0,   0,   0,   0,   0,   0,
                    361:    0,   0,   0, 276,   0,   0,   0,   0,   0, 165,
                    362:  166,   0, 122,   0, 322, 125, 126, 127,   0, 238,
                    363:  165, 166,   0,   0,   0,   0,   0, 138, 139,   0,
                    364:  238, 140,   0, 142, 143, 144,   0, 251, 145, 146,
                    365:  147,   0, 148, 165, 166, 253,   0, 254,   0,   0,
                    366:  153,   0,   0,   0,   0,   0, 165, 166, 151,   0,
                    367:  152, 178, 179, 180, 181, 182, 160, 161, 162, 163,
                    368:  169, 168, 167, 158, 159, 103, 160, 161, 162, 163,
                    369:  169, 168, 167, 158, 159, 103, 160, 161, 162, 163,
                    370:  169, 168, 167, 158, 159, 103, 160, 161, 162, 163,
                    371:  169, 168, 167, 158, 159, 103,   0,   0,   0,   0,
                    372:    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
                    373:    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
                    374:    0,   0,   0,   0,   0, 251,   0,   0,   0,   0,
                    375:    0, 165, 166, 283,   0, 153,   0,   0,   0,   0,
                    376:    0, 165, 166, 175,   0, 404,   0,   0,   0,   0,
                    377:    0, 165, 166,  56,  46, 251,  85,   0,  61,   0,
                    378:   90, 165, 166,  47,  73,   0,   0,   0,  70,   0,
                    379:    0,  66,  87,   0,  68,  72,   0,  67,   0,  57,
                    380:   58,  59,  50,   0,   0,  88,   0,   0,   0,   0,
                    381:   89,   0,  62,  84,   0,  64,  82,  69,  52,  86,
                    382:    0,   0,  63,   0, 124,   0,  65,  83,   0,   0,
                    383:   74,   0,   0,   0,   0,  71 };
                    384: short yypact[]={
                    385: 
                    386: -1000,  18, 503, 837,-1000,-1000,-1000,-1000,-1000,-1000,
                    387:  495,-1000,-1000,-1000,-1000,-1000,-1000, 164, 453, -35,
                    388:  194, 188, 187, 173,  58, 169,  -8,  66,-1000,-1000,
                    389: -1000,-1000,-1000,1264,-1000,-1000,-1000,  -5,-1000,-1000,
                    390: -1000,-1000,-1000,-1000,-1000, 453,-1000,-1000,-1000,-1000,
                    391: -1000, 354,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,
                    392: -1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,
                    393: -1000,-1000,-1000,-1000,-1000,1096, 348,1191, 348, 165,
                    394: -1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,
                    395: -1000,-1000,-1000,-1000, 453, 453, 453, 453,-1000, 453,
                    396: -1000, 325,-1000,-1000, 453,-1000, -11, 453, 453, 453,
                    397:  343,-1000,-1000,-1000, 453, 159,-1000,-1000,-1000,-1000,
                    398:  468, 346,  58,-1000,-1000, 344,-1000,-1000,-1000,-1000,
                    399:   66, 453, 453, 343,-1000,-1000, 234, 342, 489,-1000,
                    400:  341, 917, 963, 963, 340, 475, 453, 335, 453,-1000,
                    401: -1000,-1000,-1000,1083,-1000,-1000, 308,1211,-1000,-1000,
                    402: -1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,
                    403: -1000,1083, 193, 158,-1000,-1000,1049,1049,-1000,-1000,
                    404: -1000,-1000,1181, 332,-1000,-1000, 325, 325, 453,-1000,
                    405: -1000,  73, 304,-1000,  58,-1000, 304,-1000,-1000,-1000,
                    406:  453,-1000, 380,-1000, 330,1273, -17,  66, -18, 453,
                    407:  475,  37, 963,1060,-1000, 453,-1000,-1000,-1000,-1000,
                    408: -1000, 963,-1000, 963, 361,-1000, 963,-1000, 271,-1000,
                    409:  751, 475,-1000, 963,-1000,-1000,-1000, 963, 963,-1000,
                    410:  751,-1000, 963,-1000,-1000,  58, 475,-1000, 301, 240,
                    411: -1000,1211,-1000,-1000,-1000, 906,-1000,1211,1211,1211,
                    412: 1211,1211, -30, 204, 106, 388,-1000,-1000, 388, 388,
                    413: -1000, 143, 135, 116, 751,-1000,1049,-1000,-1000,-1000,
                    414: -1000,-1000, 308,-1000,-1000, 300,-1000,-1000, 325,-1000,
                    415: -1000, 222,-1000,-1000,-1000,  -5,-1000, -36,1201, 453,
                    416: -1000, 216,-1000,  45,-1000,-1000, 380, 460,-1000, 453,
                    417: -1000,-1000, 178,-1000, 226,-1000,-1000,-1000, 324, 220,
                    418:  726, 751, 952,-1000, 751, 299, 199, 115, 751, 453,
                    419:  704,-1000, 941, 963, 963, 963, 963, 963, 963, 963,
                    420:  963, 963, 963,-1000,-1000,-1000,-1000,-1000,-1000,-1000,
                    421:  676, 114, -31, 646, 629, 321, 127,-1000,-1000,-1000,
                    422: 1083,  33, 751,-1000,-1000,  27, -30, -30, -30,  50,
                    423: -1000, 388, 106, 107, 106,1049,1049,1049, 607,  88,
                    424:   86,  74,-1000,-1000,-1000,  87,-1000, 201,-1000, 304,
                    425: -1000, 113,-1000,  85, 930,-1000,1201,-1000,-1000,  -3,
                    426: 1070,-1000,-1000,-1000, 963,-1000,-1000, 453,-1000, 380,
                    427:   64,  78,-1000,   8,-1000,  60,-1000,-1000, 453, 963,
                    428:   58, 963, 963, 391,-1000, 290, 303, 963, 963,-1000,
                    429:  475,-1000,   0, -31, -31, -31, 467,  95,  95, 581,
                    430:  646, -22,-1000, 963,-1000, 475, 475,  58,-1000, 308,
                    431: -1000,-1000, 388,-1000,-1000,-1000,-1000,-1000,-1000,-1000,
                    432: 1049,1049,1049,-1000, 466, 465,  -5,-1000,-1000, 930,
                    433: -1000,-1000, 564,-1000,-1000,1201,-1000,-1000,-1000,-1000,
                    434:  380,-1000, 460, 460, 453,-1000, 751,  37,  11,  43,
                    435:  751,-1000,-1000,-1000, 963, 285, 751,  41, 282,  62,
                    436: -1000, 963, 284, 227, 282, 277, 275, 258,-1000,-1000,
                    437: -1000,-1000, 930,-1000,-1000,   7, 248,-1000,-1000,-1000,
                    438: -1000,-1000, 963,-1000,-1000, 475,-1000,-1000, 751,-1000,
                    439: -1000,-1000,-1000,-1000, 751,-1000,-1000, 751,  34, 475,
                    440: -1000 };
                    441: short yypgo[]={
                    442: 
                    443:    0, 613, 612,  13, 611,  81,  15,  32, 610, 604,
                    444:  603,  10,   0, 602, 601, 600,  16, 598,  35,  25,
                    445:  597, 596, 595,   3,   4, 594,  67, 593, 592,  50,
                    446:   34,  18,  26, 101,  20, 591,  30, 373,   1, 292,
                    447:   24, 347, 327,   2,   9,  14,  31,  49,  46, 590,
                    448:  588,  39,  28,  45, 587, 585, 584, 583, 581,1100,
                    449:   40, 580, 579,  12, 578, 575, 573, 572, 571, 570,
                    450:  568,  29, 567,  27, 566,  23,  41,   7,  44,   6,
                    451:   37, 565,  38, 561, 560,  11,  22,  36, 559, 558,
                    452:    8,  17,  33, 557, 555, 541,   5, 540, 472, 537,
                    453:  536, 534, 533, 532, 528, 203, 523, 521, 518, 517,
                    454:  513, 509,  88, 508, 507,  19 };
                    455: short yyr1[]={
                    456: 
                    457:    0,   1,   1,  55,  55,  55,  55,  55,  55,  55,
                    458:    2,  56,  56,  56,  56,  56,  56,  56,  60,  52,
                    459:   33,  53,  53,  61,  61,  62,  62,  63,  63,  26,
                    460:   26,  26,  27,  27,  34,  34,  17,  57,  57,  57,
                    461:   57,  57,  57,  57,  57,  57,  57,  57,  57,  10,
                    462:   10,  10,  74,   7,   8,   9,   9,   9,   9,   9,
                    463:    9,   9,   9,   9,   9,   9,  16,  16,  16,  50,
                    464:   50,  50,  50,  51,  51,  64,  64,  65,  65,  66,
                    465:   66,  80,  54,  54,  67,  67,  81,  82,  76,  83,
                    466:   84,  77,  77,  85,  85,  45,  45,  45,  70,  70,
                    467:   86,  86,  72,  72,  87,  36,  18,  18,  19,  19,
                    468:   75,  75,  89,  88,  88,  90,  90,  43,  43,  91,
                    469:   91,   3,  68,  68,  92,  92,  95,  93,  94,  94,
                    470:   96,  96,  11,  69,  69,  97,  20,  20,  71,  21,
                    471:   21,  22,  22,  38,  38,  38,  39,  39,  39,  39,
                    472:   39,  39,  39,  39,  39,  39,  39,  39,  39,  39,
                    473:   12,  12,  13,  13,  13,  13,  13,  13,  37,  37,
                    474:   37,  37,  32,  40,  40,  44,  44,  48,  48,  48,
                    475:   48,  48,  48,  48,  47,  49,  49,  49,  41,  41,
                    476:   42,  42,  42,  42,  42,  42,  42,  42,  58,  58,
                    477:   58,  58,  58,  58,  58,  58,  58,  99,  23,  24,
                    478:   24,  98,  98,  98,  98,  98,  98,  98,  98,  98,
                    479:   98,  98,   4, 100, 101, 101, 101, 101,  73,  73,
                    480:   35,  25,  25,  46,  46,  14,  14,  28,  28,  59,
                    481:   78,  79, 102, 103, 103, 103, 103, 103, 103, 103,
                    482:  103, 103, 103, 103, 103, 103, 103, 104, 111, 111,
                    483:  111, 106, 113, 113, 113, 108, 108, 105, 105, 114,
                    484:  114, 115, 115, 115, 115, 115, 115,  15, 107, 109,
                    485:  110, 110,  29,  29,   6,   6,  30,  30,  30,  31,
                    486:   31,  31,  31,  31,  31,   5,   5,   5,   5,   5,
                    487:  112 };
                    488: short yyr2[]={
                    489: 
                    490:    0,   0,   3,   2,   2,   2,   3,   3,   2,   1,
                    491:    1,   3,   4,   3,   4,   4,   5,   3,   0,   1,
                    492:    1,   0,   1,   2,   3,   1,   3,   1,   3,   0,
                    493:    2,   3,   1,   3,   1,   1,   1,   1,   1,   1,
                    494:    1,   1,   1,   1,   1,   1,   2,   1,   5,   7,
                    495:    5,   5,   0,   2,   1,   1,   1,   1,   1,   1,
                    496:    1,   1,   1,   1,   1,   1,   0,   4,   6,   3,
                    497:    4,   5,   3,   1,   3,   3,   3,   3,   3,   3,
                    498:    3,   3,   1,   3,   3,   3,   0,   6,   0,   0,
                    499:    0,   2,   3,   1,   3,   1,   2,   1,   1,   3,
                    500:    1,   1,   1,   3,   3,   2,   1,   5,   1,   3,
                    501:    0,   3,   0,   2,   3,   1,   3,   1,   1,   1,
                    502:    3,   1,   3,   3,   4,   1,   0,   2,   1,   3,
                    503:    1,   3,   1,   1,   2,   4,   1,   3,   0,   0,
                    504:    1,   1,   3,   1,   3,   1,   1,   1,   3,   3,
                    505:    3,   3,   2,   3,   3,   3,   3,   3,   2,   3,
                    506:    1,   1,   1,   1,   1,   1,   1,   1,   1,   2,
                    507:    4,   5,   5,   0,   1,   1,   1,   1,   1,   1,
                    508:    1,   1,   1,   1,   5,   1,   1,   1,   1,   3,
                    509:    1,   1,   3,   3,   3,   3,   2,   3,   1,   7,
                    510:    4,   1,   2,   2,   6,   2,   2,   5,   3,   1,
                    511:    4,   4,   5,   2,   1,   1,  10,   1,   3,   4,
                    512:    3,   3,   1,   1,   3,   3,   7,   7,   0,   1,
                    513:    3,   1,   3,   1,   2,   1,   1,   1,   3,   0,
                    514:    0,   0,   1,   2,   2,   2,   2,   2,   2,   2,
                    515:    3,   4,   4,   2,   3,   1,   3,   3,   1,   1,
                    516:    1,   3,   1,   1,   1,   1,   1,   3,   3,   1,
                    517:    3,   1,   1,   1,   2,   2,   2,   1,   3,   3,
                    518:    4,   4,   1,   3,   1,   5,   1,   1,   1,   3,
                    519:    3,   3,   3,   3,   3,   1,   3,   5,   5,   5,
                    520:    0 };
                    521: short yychk[]={
                    522: 
                    523: -1000,  -1, -55,  -2, 256,   3,   1, -56, -57, -58,
                    524:   18,  37,   4,  60,  23,  69,  44,  -7,  40, -10,
                    525:  -50, -64, -65, -66, -67, -68, -69,  66,  43,  57,
                    526:  -98,  33,  97, -99,  36,  35,  39,  -8,  27,  42,
                    527:   53,  41,  30,  50,  55,-100,  20,  29,-101,-102,
                    528:   48, -35,  64, -14,  49,  -9,  19,  45,  46,  47,
                    529: -103,  24,  58,  68,  52,  63,  28,  34,  31,  54,
                    530:   25,  72,  32,  21,  67,-104,-106,-107,-109,-110,
                    531: -111,-113,  62,  73,  59,  22,  65,  38,  51,  56,
                    532:   26, -17,   5, -59, -60, -60, -60, -60,  44, -73,
                    533:   78, -52, -33,  14,  78,  99, -73,  78,  78,  78,
                    534:   78, -73,  78, -97,  83, -70, -86, -33, -51,  85,
                    535:   83, -71, -59, -98,  70, -59, -59, -59, -16,  82,
                    536:  -71, -71, -71, -71, -81, -71, -37, -33, -59, -59,
                    537:  -59,  74, -59, -59, -59, -59, -59, -59, -59,-105,
                    538:  -42,  82,  84,  74, -37, -48, -41, -12,  12,  13,
                    539:    5,   6,   7,   8, -49,  80,  81,  11,  10,   9,
                    540: -105,  74,-105,-108, -42,  82,-105,  78, -59, -59,
                    541:  -59, -59, -59, -53, -52, -53, -52, -52, -60, -33,
                    542:  -26,  74, -33, -76, -51, -36, -33, -33, -33, -80,
                    543:   74, -82, -76, -92, -93, -95, -33,  78,  14,  74,
                    544:  -78, -73,  74, -78, -36, -51, -33, -33, -80, -82,
                    545:  -92,  76, -32,  74,  -4,   6,  74,  75, -25, -46,
                    546:  -38,  82, -39,  74, -47, -37, -48, -12,  90, -40,
                    547:  -38, -40,  74,  -3,   6, -33,  74, -33, -41,-114,
                    548:  -42,  74,-115,  82,  84, -15,  15, -12,  82,  83,
                    549:   84,  85, -41, -41, -29,  78,  -6, -37,  74,  78,
                    550:  -30, -39,  -5, -31, -38, -47,  74, -30,-112,-112,
                    551: -112,-112, -41,  82, -61,  74, -26, -26, -52, -71,
                    552:   75, -27, -34, -33,  82, -75,  74, -77, -84, -73,
                    553:  -75, -54, -37, -19, -18, -37,  74,  74,  -7,  83,
                    554:  -86,  83, -72, -87, -33,  -3, -24, -23,  98, -33,
                    555:  -38, -38,  74, -36, -38, -21, -40, -22, -38,  71,
                    556:  -38,  75,  78, -12,  82,  83,  84, -13,  89,  88,
                    557:   87,  86,  85,  91,  93,  92,  95,  94,  96,  -3,
                    558:  -38, -39, -38, -38, -38, -73, -91,  -3,  75,  75,
                    559:   78, -41, -38,  82,  84, -41, -41, -41, -41, -41,
                    560:   75,  78, -29, -29, -29,  78,  78,  78, -38, -39,
                    561:   -5, -31,-112,-112,  75, -62, -63,  14, -26, -74,
                    562:   75,  78, -16, -88, -89,  99,  78, -85, -45, -44,
                    563:  -12, -47, -33, -48,  74, -36,  75,  78,  83,  78,
                    564:  -19, -94, -96, -11,  14, -20, -33,  75,  78,  76,
                    565:  -79,  74,  76,  75, -79,  82,  75,  77,  78, -33,
                    566:   75, -46, -38, -38, -38, -38, -38, -38, -38, -38,
                    567:  -38, -38,  75,  78,  75,  74,  78,  75,-115, -41,
                    568:   75,  -6,  78, -39,  -5, -39,  -5, -39,  -5,  75,
                    569:   78,  78,  78,  75,  78,  76, -75, -34,  75,  78,
                    570:  -90, -43, -38,  82, -85,  82, -44, -37, -83, -18,
                    571:   78,  75,  78,  81,  78, -87, -38, -73, -38, -28,
                    572:  -38,  70,  75, -32,  74, -40, -38,  -3, -39, -91,
                    573:   -3, -73, -23, -33, -39, -23, -23, -23, -63,  14,
                    574:  -16, -90,  77, -45, -44, -77, -23, -96, -11, -33,
                    575:  -24,  75,  78, -79,  75,  78,  75,  75, -38,  75,
                    576:   75,  75,  75, -43, -38,  83,  75, -38,  -3,  78,
                    577:   -3 };
                    578: short yydef[]={
                    579: 
                    580:    1,  -2,   0,   0,   9,  10,   2,   3,   4,   5,
                    581:    0, 239,   8,  18,  18,  18,  18, 228,   0,  37,
                    582:   -2,  39,  40,  41,  -2,  43,  44,  45,  47, 138,
                    583:  198, 239, 201,   0, 239, 239, 239,  66, 138, 138,
                    584:  138, 138,  86, 138, 133,   0, 239, 239, 214, 215,
                    585:  239, 217, 239, 239, 239,  54, 223, 239, 239, 239,
                    586:  242, 239, 235, 236,  55,  56,  57,  58,  59,  60,
                    587:   61,  62,  63,  64,  65,   0,   0,   0,   0, 255,
                    588:  239, 239, 239, 239, 239, 258, 259, 260, 262, 263,
                    589:  264,   6,  36,   7,  21,  21,   0,   0,  18,   0,
                    590:  229,  29,  19,  20,   0,  88,   0, 229,   0,   0,
                    591:    0,  88, 126, 134,   0,  46,  98, 100, 101,  73,
                    592:    0,   0,  -2, 202, 203,   0, 205, 206,  53, 240,
                    593:    0,   0,   0,   0,  88, 126,   0, 168,   0, 213,
                    594:    0,   0, 173, 173,   0,   0,   0,   0,   0, 243,
                    595:   -2, 245, 246,   0, 190, 191,   0,   0, 177, 178,
                    596:  179, 180, 181, 182, 183, 160, 161, 185, 186, 187,
                    597:  247,   0, 248, 249,  -2, 266, 253,   0, 300, 300,
                    598:  300, 300,   0,  11,  22,  13,  29,  29,   0, 138,
                    599:   17,   0, 110,  90, 228,  72, 110,  76,  78,  80,
                    600:    0,  85,   0, 123, 125,   0,   0,   0,   0,   0,
                    601:    0,   0,   0,   0,  69,   0,  75,  77,  79,  84,
                    602:  122,   0, 169,  -2,   0, 222,   0, 218,   0, 231,
                    603:  233,   0, 143,   0, 145, 146, 147,   0,   0, 220,
                    604:  174, 221,   0, 224, 121,  -2,   0, 230, 271,   0,
                    605:  188,   0, 269, 272, 273,   0, 277,   0,   0,   0,
                    606:    0,   0, 196, 271, 250,   0, 282, 284,   0,   0,
                    607:  254,  -2, 287, 288,   0,  -2,   0, 256, 257, 261,
                    608:  278, 279, 300, 300,  12,   0,  14,  15,  29,  52,
                    609:   30,   0,  32,  34,  35,  66, 112,   0,   0,   0,
                    610:  105,   0,  82,   0, 108, 106,   0,   0, 127,   0,
                    611:   99,  74,   0, 102,   0, 241, 200, 209,   0,   0,
                    612:    0, 241,   0,  70, 211,   0,   0, 140,  -2,   0,
                    613:    0, 219,   0,   0,   0,   0,   0,   0,   0,   0,
                    614:    0,   0,   0, 162, 163, 164, 165, 166, 167, 234,
                    615:    0, 143, 152, 158,   0,   0,   0, 119,  -2, 268,
                    616:    0,   0, 274, 275, 276, 192, 193, 194, 195, 197,
                    617:  267,   0, 252,   0, 251,   0,   0,   0,   0, 143,
                    618:    0,   0, 280, 281,  23,   0,  25,  27,  16, 110,
                    619:   31,   0,  50,   0,   0,  51,   0,  91,  93,  95,
                    620:    0,  97, 175, 176,   0,  71,  81,   0,  89,   0,
                    621:    0,   0, 128, 130, 132, 135, 136,  48,   0,   0,
                    622:  228,   0,   0,   0,  67,   0, 170, 173,   0, 212,
                    623:    0, 232, 148, 149, 150, 151,  -2, 154, 155, 156,
                    624:  157, 159, 144,   0, 207,   0,   0, 228, 270, 271,
                    625:  189, 283,   0,  -2, 290,  -2, 292,  -2, 294,  -2,
                    626:    0,   0,   0,  24,   0,   0,  66,  33, 111,   0,
                    627:  113, 115, 118, 117,  92,   0,  96,  83,  90, 109,
                    628:    0, 124,   0,   0,   0, 103, 104,   0,   0, 208,
                    629:  237, 204, 241, 171, 173,   0, 142,   0, 143,   0,
                    630:  120,   0,   0, 168,  -2,   0,   0,   0,  26,  28,
                    631:   49, 114,   0,  94,  95,   0,   0, 129, 131, 137,
                    632:  199, 210,   0,  68, 172,   0, 184, 226, 227, 285,
                    633:  297, 298, 299, 116, 118,  87, 107, 238,   0,   0,
                    634:  216 };
                    635: # ifdef YYDEBUG
                    636: # include "y.debug"
                    637: # endif
                    638: 
                    639: # define YYFLAG -1000
                    640: # define YYERROR goto yyerrlab
                    641: # define YYACCEPT return(0)
                    642: # define YYABORT return(1)
                    643: 
                    644: /*     parser for yacc output  */
                    645: 
                    646: #ifdef YYDEBUG
                    647: int yydebug = 0; /* 1 for debugging */
                    648: #endif
                    649: YYSTYPE yyv[YYMAXDEPTH]; /* where the values are stored */
                    650: int yychar = -1; /* current input token number */
                    651: int yynerrs = 0;  /* number of errors */
                    652: short yyerrflag = 0;  /* error recovery flag */
                    653: 
                    654: yyparse()
                    655: {      short yys[YYMAXDEPTH];
                    656:        int yyj, yym;
                    657:        register YYSTYPE *yypvt;
                    658:        register int yystate, yyn;
                    659:        register short *yyps;
                    660:        register YYSTYPE *yypv;
                    661:        register short *yyxi;
                    662: 
                    663:        yystate = 0;
                    664:        yychar = -1;
                    665:        yynerrs = 0;
                    666:        yyerrflag = 0;
                    667:        yyps= &yys[-1];
                    668:        yypv= &yyv[-1];
                    669: 
                    670: yystack:    /* put a state and value onto the stack */
                    671: #ifdef YYDEBUG
                    672:        if(yydebug >= 3)
                    673:                if(yychar < 0 || yytoknames[yychar] == 0)
                    674:                        printf("char %d in %s", yychar, yystates[yystate]);
                    675:                else
                    676:                        printf("%s in %s", yytoknames[yychar], yystates[yystate]);
                    677: #endif
                    678:        if( ++yyps >= &yys[YYMAXDEPTH] ) { 
                    679:                yyerror( "yacc stack overflow" ); 
                    680:                return(1); 
                    681:        }
                    682:        *yyps = yystate;
                    683:        ++yypv;
                    684:        *yypv = yyval;
                    685: yynewstate:
                    686:        yyn = yypact[yystate];
                    687:        if(yyn <= YYFLAG) goto yydefault; /* simple state */
                    688:        if(yychar<0) {
                    689:                yychar = yylex();
                    690: #ifdef YYDEBUG
                    691:                if(yydebug >= 2) {
                    692:                        if(yychar <= 0)
                    693:                                printf("lex EOF\n");
                    694:                        else if(yytoknames[yychar])
                    695:                                printf("lex %s\n", yytoknames[yychar]);
                    696:                        else
                    697:                                printf("lex (%c)\n", yychar);
                    698:                }
                    699: #endif
                    700:                if(yychar < 0)
                    701:                        yychar = 0;
                    702:        }
                    703:        if((yyn += yychar) < 0 || yyn >= YYLAST)
                    704:                goto yydefault;
                    705:        if( yychk[ yyn=yyact[ yyn ] ] == yychar ){ /* valid shift */
                    706:                yychar = -1;
                    707:                yyval = yylval;
                    708:                yystate = yyn;
                    709:                if( yyerrflag > 0 ) --yyerrflag;
                    710:                goto yystack;
                    711:        }
                    712: yydefault:
                    713:        /* default state action */
                    714:        if( (yyn=yydef[yystate]) == -2 ) {
                    715:                if(yychar < 0) {
                    716:                        yychar = yylex();
                    717: #ifdef YYDEBUG
                    718:                        if(yydebug >= 2)
                    719:                                if(yychar < 0)
                    720:                                        printf("lex EOF\n");
                    721:                                else
                    722:                                        printf("lex %s\n", yytoknames[yychar]);
                    723: #endif
                    724:                        if(yychar < 0)
                    725:                                yychar = 0;
                    726:                }
                    727:                /* look through exception table */
                    728:                for(yyxi=yyexca; (*yyxi!= (-1)) || (yyxi[1]!=yystate);
                    729:                        yyxi += 2 ) ; /* VOID */
                    730:                while( *(yyxi+=2) >= 0 ){
                    731:                        if( *yyxi == yychar ) break;
                    732:                }
                    733:                if( (yyn = yyxi[1]) < 0 ) return(0);   /* accept */
                    734:        }
                    735:        if( yyn == 0 ){ /* error */
                    736:                /* error ... attempt to resume parsing */
                    737:                switch( yyerrflag ){
                    738:                case 0:   /* brand new error */
                    739: #ifdef YYDEBUG
                    740:                        yyerror("syntax error\n%s", yystates[yystate]);
                    741:                        if(yytoknames[yychar])
                    742:                                yyerror("saw %s\n", yytoknames[yychar]);
                    743:                        else if(yychar >= ' ' && yychar < '\177')
                    744:                                yyerror("saw `%c'\n", yychar);
                    745:                        else if(yychar == 0)
                    746:                                yyerror("saw EOF\n");
                    747:                        else
                    748:                                yyerror("saw char 0%o\n", yychar);
                    749: #else
                    750:                        yyerror( "syntax error" );
                    751: #endif
                    752: yyerrlab:
                    753:                        ++yynerrs;
                    754:                case 1:
                    755:                case 2: /* incompletely recovered error ... try again */
                    756:                        yyerrflag = 3;
                    757:                        /* find a state where "error" is a legal shift action */
                    758:                        while ( yyps >= yys ) {
                    759:                                yyn = yypact[*yyps] + YYERRCODE;
                    760:                                if( yyn>= 0 && yyn < YYLAST && yychk[yyact[yyn]] == YYERRCODE ){
                    761:                                        yystate = yyact[yyn];  /* simulate a shift of "error" */
                    762:                                        goto yystack;
                    763:                                }
                    764:                                yyn = yypact[*yyps];
                    765:                                /* the current yyps has no shift onn "error", pop stack */
                    766: #ifdef YYDEBUG
                    767:                                if( yydebug ) printf( "error recovery pops state %d, uncovers %d\n", *yyps, yyps[-1] );
                    768: #endif
                    769:                                --yyps;
                    770:                                --yypv;
                    771:                        }
                    772:                        /* there is no state on the stack with an error shift ... abort */
                    773: yyabort:
                    774:                        return(1);
                    775:                case 3:  /* no shift yet; clobber input char */
                    776: #ifdef YYDEBUG
                    777:                        if( yydebug ) {
                    778:                                printf("error recovery discards ");
                    779:                                if(yytoknames[yychar])
                    780:                                        printf("%s\n", yytoknames[yychar]);
                    781:                                else if(yychar >= ' ' && yychar < '\177')
                    782:                                        printf("`%c'\n", yychar);
                    783:                                else if(yychar == 0)
                    784:                                        printf("EOF\n");
                    785:                                else
                    786:                                        printf("char 0%o\n", yychar);
                    787:                        }
                    788: #endif
                    789:                        if( yychar == 0 ) goto yyabort; /* don't discard EOF, quit */
                    790:                        yychar = -1;
                    791:                        goto yynewstate;   /* try again in the same state */
                    792:                }
                    793:        }
                    794:        /* reduction by production yyn */
                    795: #ifdef YYDEBUG
                    796:        if(yydebug) {   char *s;
                    797:                printf("reduce %d in:\n\t", yyn);
                    798:                for(s = yystates[yystate]; *s; s++) {
                    799:                        putchar(*s);
                    800:                        if(*s == '\n' && *(s+1))
                    801:                                putchar('\t');
                    802:                }
                    803:        }
                    804: #endif
                    805:        yyps -= yyr2[yyn];
                    806:        yypvt = yypv;
                    807:        yypv -= yyr2[yyn];
                    808:        yyval = yypv[1];
                    809:        yym=yyn;
                    810:        /* consult goto table to find next state */
                    811:        yyn = yyr1[yyn];
                    812:        yyj = yypgo[yyn] + *yyps + 1;
                    813:        if( yyj>=YYLAST || yychk[ yystate = yyact[yyj] ] != -yyn ) yystate = yyact[yypgo[yyn]];
                    814:        switch(yym){
                    815:                
                    816: case 3:
                    817: /* # line 226 "gram.in" */
                    818: {
                    819: /* stat:   is the nonterminal for Fortran statements */
                    820: 
                    821:                  lastwasbranch = NO; } break;
                    822: case 5:
                    823: /* # line 232 "gram.in" */
                    824: { /* forbid further statement function definitions... */
                    825:                  if (parstate == INDATA && laststfcn != thisstno)
                    826:                        parstate = INEXEC;
                    827:                  thisstno++;
                    828:                  if(yypvt[-1].labval && (yypvt[-1].labval->labelno==dorange))
                    829:                        enddo(yypvt[-1].labval->labelno);
                    830:                  if(lastwasbranch && thislabel==NULL)
                    831:                        warn("statement cannot be reached");
                    832:                  lastwasbranch = thiswasbranch;
                    833:                  thiswasbranch = NO;
                    834:                  if(yypvt[-1].labval)
                    835:                        {
                    836:                        if(yypvt[-1].labval->labtype == LABFORMAT)
                    837:                                err("label already that of a format");
                    838:                        else
                    839:                                yypvt[-1].labval->labtype = LABEXEC;
                    840:                        }
                    841:                  freetemps();
                    842:                } break;
                    843: case 6:
                    844: /* # line 252 "gram.in" */
                    845: { if (can_include)
                    846:                        doinclude( yypvt[-0].charpval );
                    847:                  else {
                    848:                        fprintf(diagfile, "Cannot open file %s\n", yypvt[-0].charpval);
                    849:                        done(1);
                    850:                        }
                    851:                } break;
                    852: case 7:
                    853: /* # line 260 "gram.in" */
                    854: { if (yypvt[-2].labval)
                    855:                        lastwasbranch = NO;
                    856:                  endproc(); /* lastwasbranch = NO; -- set in endproc() */
                    857:                } break;
                    858: case 8:
                    859: /* # line 265 "gram.in" */
                    860: { extern void unclassifiable();
                    861:                  unclassifiable();
                    862: 
                    863: /* flline flushes the current line, ignoring the rest of the text there */
                    864: 
                    865:                  flline(); } break;
                    866: case 9:
                    867: /* # line 272 "gram.in" */
                    868: { flline();  needkwd = NO;  inioctl = NO;
                    869:                  yyerrok; yyclearin; } break;
                    870: case 10:
                    871: /* # line 277 "gram.in" */
                    872: {
                    873:                if(yystno != 0)
                    874:                        {
                    875:                        yyval.labval = thislabel =  mklabel(yystno);
                    876:                        if( ! headerdone ) {
                    877:                                if (procclass == CLUNKNOWN)
                    878:                                        procclass = CLMAIN;
                    879:                                puthead(CNULL, procclass);
                    880:                                }
                    881:                        if(thislabel->labdefined)
                    882:                                execerr("label %s already defined",
                    883:                                        convic(thislabel->stateno) );
                    884:                        else    {
                    885:                                if(thislabel->blklevel!=0 && thislabel->blklevel<blklevel
                    886:                                    && thislabel->labtype!=LABFORMAT)
                    887:                                        warn1("there is a branch to label %s from outside block",
                    888:                                              convic( (ftnint) (thislabel->stateno) ) );
                    889:                                thislabel->blklevel = blklevel;
                    890:                                thislabel->labdefined = YES;
                    891:                                if(thislabel->labtype != LABFORMAT)
                    892:                                        p1_label((long)(thislabel - labeltab));
                    893:                                }
                    894:                        }
                    895:                else    yyval.labval = thislabel = NULL;
                    896:                } break;
                    897: case 11:
                    898: /* # line 305 "gram.in" */
                    899: {startproc(yypvt[-0].extval, CLMAIN); } break;
                    900: case 12:
                    901: /* # line 307 "gram.in" */
                    902: {      warn("ignoring arguments to main program");
                    903:                        /* hashclear(); */
                    904:                        startproc(yypvt[-1].extval, CLMAIN); } break;
                    905: case 13:
                    906: /* # line 311 "gram.in" */
                    907: { if(yypvt[-0].extval) NO66("named BLOCKDATA");
                    908:                  startproc(yypvt[-0].extval, CLBLOCK); } break;
                    909: case 14:
                    910: /* # line 314 "gram.in" */
                    911: { entrypt(CLPROC, TYSUBR, (ftnint) 0,  yypvt[-1].extval, yypvt[-0].chval); } break;
                    912: case 15:
                    913: /* # line 316 "gram.in" */
                    914: { entrypt(CLPROC, TYUNKNOWN, (ftnint) 0, yypvt[-1].extval, yypvt[-0].chval); } break;
                    915: case 16:
                    916: /* # line 318 "gram.in" */
                    917: { entrypt(CLPROC, yypvt[-4].ival, varleng, yypvt[-1].extval, yypvt[-0].chval); } break;
                    918: case 17:
                    919: /* # line 320 "gram.in" */
                    920: { if(parstate==OUTSIDE || procclass==CLMAIN
                    921:                        || procclass==CLBLOCK)
                    922:                                execerr("misplaced entry statement", CNULL);
                    923:                  entrypt(CLENTRY, 0, (ftnint) 0, yypvt[-1].extval, yypvt[-0].chval);
                    924:                } break;
                    925: case 18:
                    926: /* # line 328 "gram.in" */
                    927: { newproc(); } break;
                    928: case 19:
                    929: /* # line 332 "gram.in" */
                    930: { yyval.extval = newentry(yypvt[-0].namval, 1); } break;
                    931: case 20:
                    932: /* # line 336 "gram.in" */
                    933: { yyval.namval = mkname(token); } break;
                    934: case 21:
                    935: /* # line 339 "gram.in" */
                    936: { yyval.extval = NULL; } break;
                    937: case 29:
                    938: /* # line 357 "gram.in" */
                    939: { yyval.chval = 0; } break;
                    940: case 30:
                    941: /* # line 359 "gram.in" */
                    942: { NO66(" () argument list");
                    943:                  yyval.chval = 0; } break;
                    944: case 31:
                    945: /* # line 362 "gram.in" */
                    946: {yyval.chval = yypvt[-1].chval; } break;
                    947: case 32:
                    948: /* # line 366 "gram.in" */
                    949: { yyval.chval = (yypvt[-0].namval ? mkchain((char *)yypvt[-0].namval,CHNULL) : CHNULL ); } break;
                    950: case 33:
                    951: /* # line 368 "gram.in" */
                    952: { if(yypvt[-0].namval) yypvt[-2].chval = yyval.chval = mkchain((char *)yypvt[-0].namval, yypvt[-2].chval); } break;
                    953: case 34:
                    954: /* # line 372 "gram.in" */
                    955: { if(yypvt[-0].namval->vstg!=STGUNKNOWN && yypvt[-0].namval->vstg!=STGARG)
                    956:                        dclerr("name declared as argument after use", yypvt[-0].namval);
                    957:                  yypvt[-0].namval->vstg = STGARG;
                    958:                } break;
                    959: case 35:
                    960: /* # line 377 "gram.in" */
                    961: { NO66("altenate return argument");
                    962: 
                    963: /* substars   means that '*'ed formal parameters should be replaced.
                    964:    This is used to specify alternate return labels; in theory, only
                    965:    parameter slots which have '*' should accept the statement labels.
                    966:    This compiler chooses to ignore the '*'s in the formal declaration, and
                    967:    always return the proper value anyway.
                    968: 
                    969:    This variable is only referred to in   proc.c   */
                    970: 
                    971:                  yyval.namval = 0;  substars = YES; } break;
                    972: case 36:
                    973: /* # line 393 "gram.in" */
                    974: {
                    975:                char *s;
                    976:                s = copyn(toklen+1, token);
                    977:                s[toklen] = '\0';
                    978:                yyval.charpval = s;
                    979:                } break;
                    980: case 45:
                    981: /* # line 409 "gram.in" */
                    982: { NO66("SAVE statement");
                    983:                  saveall = YES; } break;
                    984: case 46:
                    985: /* # line 412 "gram.in" */
                    986: { NO66("SAVE statement"); } break;
                    987: case 47:
                    988: /* # line 414 "gram.in" */
                    989: { fmtstmt(thislabel); setfmt(thislabel); } break;
                    990: case 48:
                    991: /* # line 416 "gram.in" */
                    992: { NO66("PARAMETER statement"); } break;
                    993: case 49:
                    994: /* # line 420 "gram.in" */
                    995: { settype(yypvt[-4].namval, yypvt[-6].ival, yypvt[-0].lval);
                    996:                  if(ndim>0) setbound(yypvt[-4].namval,ndim,dims);
                    997:                } break;
                    998: case 50:
                    999: /* # line 424 "gram.in" */
                   1000: { settype(yypvt[-2].namval, yypvt[-4].ival, yypvt[-0].lval);
                   1001:                  if(ndim>0) setbound(yypvt[-2].namval,ndim,dims);
                   1002:                } break;
                   1003: case 51:
                   1004: /* # line 428 "gram.in" */
                   1005: { if (new_dcl == 2) {
                   1006:                        err("attempt to give DATA in type-declaration");
                   1007:                        new_dcl = 1;
                   1008:                        }
                   1009:                } break;
                   1010: case 52:
                   1011: /* # line 435 "gram.in" */
                   1012: { new_dcl = 2; } break;
                   1013: case 53:
                   1014: /* # line 438 "gram.in" */
                   1015: { varleng = yypvt[-0].lval; } break;
                   1016: case 54:
                   1017: /* # line 442 "gram.in" */
                   1018: { varleng = (yypvt[-0].ival<0 || ONEOF(yypvt[-0].ival,M(TYLOGICAL)|M(TYLONG))
                   1019:                                ? 0 : typesize[yypvt[-0].ival]);
                   1020:                  vartype = yypvt[-0].ival; } break;
                   1021: case 55:
                   1022: /* # line 447 "gram.in" */
                   1023: { yyval.ival = TYLONG; } break;
                   1024: case 56:
                   1025: /* # line 448 "gram.in" */
                   1026: { yyval.ival = tyreal; } break;
                   1027: case 57:
                   1028: /* # line 449 "gram.in" */
                   1029: { ++complex_seen; yyval.ival = tycomplex; } break;
                   1030: case 58:
                   1031: /* # line 450 "gram.in" */
                   1032: { yyval.ival = TYDREAL; } break;
                   1033: case 59:
                   1034: /* # line 451 "gram.in" */
                   1035: { ++dcomplex_seen; NOEXT("DOUBLE COMPLEX statement"); yyval.ival = TYDCOMPLEX; } break;
                   1036: case 60:
                   1037: /* # line 452 "gram.in" */
                   1038: { yyval.ival = TYLOGICAL; } break;
                   1039: case 61:
                   1040: /* # line 453 "gram.in" */
                   1041: { NO66("CHARACTER statement"); yyval.ival = TYCHAR; } break;
                   1042: case 62:
                   1043: /* # line 454 "gram.in" */
                   1044: { yyval.ival = TYUNKNOWN; } break;
                   1045: case 63:
                   1046: /* # line 455 "gram.in" */
                   1047: { yyval.ival = TYUNKNOWN; } break;
                   1048: case 64:
                   1049: /* # line 456 "gram.in" */
                   1050: { NOEXT("AUTOMATIC statement"); yyval.ival = - STGAUTO; } break;
                   1051: case 65:
                   1052: /* # line 457 "gram.in" */
                   1053: { NOEXT("STATIC statement"); yyval.ival = - STGBSS; } break;
                   1054: case 66:
                   1055: /* # line 461 "gram.in" */
                   1056: { yyval.lval = varleng; } break;
                   1057: case 67:
                   1058: /* # line 463 "gram.in" */
                   1059: {
                   1060:                expptr p;
                   1061:                p = yypvt[-1].expval;
                   1062:                NO66("length specification *n");
                   1063:                if( ! ISICON(p) || p->constblock.Const.ci <= 0 )
                   1064:                        {
                   1065:                        yyval.lval = 0;
                   1066:                        dclerr("length must be a positive integer constant",
                   1067:                                NPNULL);
                   1068:                        }
                   1069:                else {
                   1070:                        if (vartype == TYCHAR)
                   1071:                                yyval.lval = p->constblock.Const.ci;
                   1072:                        else switch((int)p->constblock.Const.ci) {
                   1073:                                case 1: yyval.lval = 1; break;
                   1074:                                case 2: yyval.lval = typesize[TYSHORT]; break;
                   1075:                                case 4: yyval.lval = typesize[TYLONG];  break;
                   1076:                                case 8: yyval.lval = typesize[TYDREAL]; break;
                   1077:                                case 16: yyval.lval = typesize[TYDCOMPLEX]; break;
                   1078:                                default:
                   1079:                                        dclerr("invalid length",NPNULL);
                   1080:                                        yyval.lval = varleng;
                   1081:                                }
                   1082:                        }
                   1083:                } break;
                   1084: case 68:
                   1085: /* # line 489 "gram.in" */
                   1086: { NO66("length specification *(*)"); yyval.lval = -1; } break;
                   1087: case 69:
                   1088: /* # line 493 "gram.in" */
                   1089: { incomm( yyval.extval = comblock("") , yypvt[-0].namval ); } break;
                   1090: case 70:
                   1091: /* # line 495 "gram.in" */
                   1092: { yyval.extval = yypvt[-1].extval;  incomm(yypvt[-1].extval, yypvt[-0].namval); } break;
                   1093: case 71:
                   1094: /* # line 497 "gram.in" */
                   1095: { yyval.extval = yypvt[-2].extval;  incomm(yypvt[-2].extval, yypvt[-0].namval); } break;
                   1096: case 72:
                   1097: /* # line 499 "gram.in" */
                   1098: { incomm(yypvt[-2].extval, yypvt[-0].namval); } break;
                   1099: case 73:
                   1100: /* # line 503 "gram.in" */
                   1101: { yyval.extval = comblock(""); } break;
                   1102: case 74:
                   1103: /* # line 505 "gram.in" */
                   1104: { yyval.extval = comblock(token); } break;
                   1105: case 75:
                   1106: /* # line 509 "gram.in" */
                   1107: { setext(yypvt[-0].namval); } break;
                   1108: case 76:
                   1109: /* # line 511 "gram.in" */
                   1110: { setext(yypvt[-0].namval); } break;
                   1111: case 77:
                   1112: /* # line 515 "gram.in" */
                   1113: { NO66("INTRINSIC statement"); setintr(yypvt[-0].namval); } break;
                   1114: case 78:
                   1115: /* # line 517 "gram.in" */
                   1116: { setintr(yypvt[-0].namval); } break;
                   1117: case 81:
                   1118: /* # line 525 "gram.in" */
                   1119: {
                   1120:                struct Equivblock *p;
                   1121:                if(nequiv >= maxequiv)
                   1122:                        many("equivalences", 'q', maxequiv);
                   1123:                p  =  & eqvclass[nequiv++];
                   1124:                p->eqvinit = NO;
                   1125:                p->eqvbottom = 0;
                   1126:                p->eqvtop = 0;
                   1127:                p->equivs = yypvt[-1].eqvval;
                   1128:                } break;
                   1129: case 82:
                   1130: /* # line 538 "gram.in" */
                   1131: { yyval.eqvval=ALLOC(Eqvchain);
                   1132:                  yyval.eqvval->eqvitem.eqvlhs = (struct Primblock *)yypvt[-0].expval;
                   1133:                } break;
                   1134: case 83:
                   1135: /* # line 542 "gram.in" */
                   1136: { yyval.eqvval=ALLOC(Eqvchain);
                   1137:                  yyval.eqvval->eqvitem.eqvlhs = (struct Primblock *) yypvt[-0].expval;
                   1138:                  yyval.eqvval->eqvnextp = yypvt[-2].eqvval;
                   1139:                } break;
                   1140: case 86:
                   1141: /* # line 553 "gram.in" */
                   1142: { if(parstate == OUTSIDE)
                   1143:                        {
                   1144:                        newproc();
                   1145:                        startproc(ESNULL, CLMAIN);
                   1146:                        }
                   1147:                  if(parstate < INDATA)
                   1148:                        {
                   1149:                        enddcl();
                   1150:                        parstate = INDATA;
                   1151:                        datagripe = 1;
                   1152:                        }
                   1153:                } break;
                   1154: case 87:
                   1155: /* # line 568 "gram.in" */
                   1156: { ftnint junk;
                   1157:                  if(nextdata(&junk) != NULL)
                   1158:                        err("too few initializers");
                   1159:                  frdata(yypvt[-4].chval);
                   1160:                  frrpl();
                   1161:                } break;
                   1162: case 88:
                   1163: /* # line 576 "gram.in" */
                   1164: { frchain(&datastack); curdtp = 0; } break;
                   1165: case 89:
                   1166: /* # line 578 "gram.in" */
                   1167: { pop_datastack(); } break;
                   1168: case 90:
                   1169: /* # line 580 "gram.in" */
                   1170: { toomanyinit = NO; } break;
                   1171: case 93:
                   1172: /* # line 585 "gram.in" */
                   1173: { dataval(ENULL, yypvt[-0].expval); } break;
                   1174: case 94:
                   1175: /* # line 587 "gram.in" */
                   1176: { dataval(yypvt[-2].expval, yypvt[-0].expval); } break;
                   1177: case 96:
                   1178: /* # line 592 "gram.in" */
                   1179: { if( yypvt[-1].ival==OPMINUS && ISCONST(yypvt[-0].expval) )
                   1180:                        consnegop((Constp)yypvt[-0].expval);
                   1181:                  yyval.expval = yypvt[-0].expval;
                   1182:                } break;
                   1183: case 100:
                   1184: /* # line 604 "gram.in" */
                   1185: { int k;
                   1186:                  yypvt[-0].namval->vsave = YES;
                   1187:                  k = yypvt[-0].namval->vstg;
                   1188:                if( ! ONEOF(k, M(STGUNKNOWN)|M(STGBSS)|M(STGINIT)) )
                   1189:                        dclerr("can only save static variables", yypvt[-0].namval);
                   1190:                } break;
                   1191: case 104:
                   1192: /* # line 618 "gram.in" */
                   1193: { if(yypvt[-2].namval->vclass == CLUNKNOWN)
                   1194:                        make_param((struct Paramblock *)yypvt[-2].namval, yypvt[-0].expval);
                   1195:                  else dclerr("cannot make into parameter", yypvt[-2].namval);
                   1196:                } break;
                   1197: case 105:
                   1198: /* # line 625 "gram.in" */
                   1199: { if(ndim>0) setbound(yypvt[-1].namval, ndim, dims); } break;
                   1200: case 106:
                   1201: /* # line 629 "gram.in" */
                   1202: { Namep np;
                   1203:                  np = ( (struct Primblock *) yypvt[-0].expval) -> namep;
                   1204:                  vardcl(np);
                   1205:                  if(np->vstg == STGCOMMON)
                   1206:                        extsymtab[np->vardesc.varno].extinit = YES;
                   1207:                  else if(np->vstg==STGEQUIV)
                   1208:                        eqvclass[np->vardesc.varno].eqvinit = YES;
                   1209:                  else if(np->vstg!=STGINIT && np->vstg!=STGBSS)
                   1210:                        dclerr("inconsistent storage classes", np);
                   1211:                  yyval.chval = mkchain((char *)yypvt[-0].expval, CHNULL);
                   1212:                } break;
                   1213: case 107:
                   1214: /* # line 641 "gram.in" */
                   1215: { chainp p; struct Impldoblock *q;
                   1216:                pop_datastack();
                   1217:                q = ALLOC(Impldoblock);
                   1218:                q->tag = TIMPLDO;
                   1219:                (q->varnp = (Namep) (yypvt[-1].chval->datap))->vimpldovar = 1;
                   1220:                p = yypvt[-1].chval->nextp;
                   1221:                if(p)  { q->implb = (expptr)(p->datap); p = p->nextp; }
                   1222:                if(p)  { q->impub = (expptr)(p->datap); p = p->nextp; }
                   1223:                if(p)  { q->impstep = (expptr)(p->datap); }
                   1224:                frchain( & (yypvt[-1].chval) );
                   1225:                yyval.chval = mkchain((char *)q, CHNULL);
                   1226:                q->datalist = hookup(yypvt[-3].chval, yyval.chval);
                   1227:                } break;
                   1228: case 108:
                   1229: /* # line 657 "gram.in" */
                   1230: { if (!datastack)
                   1231:                        curdtp = 0;
                   1232:                  datastack = mkchain((char *)curdtp, datastack);
                   1233:                  curdtp = yypvt[-0].chval; curdtelt = 0;
                   1234:                  } break;
                   1235: case 109:
                   1236: /* # line 663 "gram.in" */
                   1237: { yyval.chval = hookup(yypvt[-2].chval, yypvt[-0].chval); } break;
                   1238: case 110:
                   1239: /* # line 667 "gram.in" */
                   1240: { ndim = 0; } break;
                   1241: case 112:
                   1242: /* # line 671 "gram.in" */
                   1243: { ndim = 0; } break;
                   1244: case 115:
                   1245: /* # line 676 "gram.in" */
                   1246: {
                   1247:                  if(ndim == maxdim)
                   1248:                        err("too many dimensions");
                   1249:                  else if(ndim < maxdim)
                   1250:                        { dims[ndim].lb = 0;
                   1251:                          dims[ndim].ub = yypvt[-0].expval;
                   1252:                        }
                   1253:                  ++ndim;
                   1254:                } break;
                   1255: case 116:
                   1256: /* # line 686 "gram.in" */
                   1257: {
                   1258:                  if(ndim == maxdim)
                   1259:                        err("too many dimensions");
                   1260:                  else if(ndim < maxdim)
                   1261:                        { dims[ndim].lb = yypvt[-2].expval;
                   1262:                          dims[ndim].ub = yypvt[-0].expval;
                   1263:                        }
                   1264:                  ++ndim;
                   1265:                } break;
                   1266: case 117:
                   1267: /* # line 698 "gram.in" */
                   1268: { yyval.expval = 0; } break;
                   1269: case 119:
                   1270: /* # line 703 "gram.in" */
                   1271: { nstars = 1; labarray[0] = yypvt[-0].labval; } break;
                   1272: case 120:
                   1273: /* # line 705 "gram.in" */
                   1274: { if(nstars < maxlablist)  labarray[nstars++] = yypvt[-0].labval; } break;
                   1275: case 121:
                   1276: /* # line 709 "gram.in" */
                   1277: { yyval.labval = execlab( convci(toklen, token) ); } break;
                   1278: case 122:
                   1279: /* # line 713 "gram.in" */
                   1280: { NO66("IMPLICIT statement"); } break;
                   1281: case 125:
                   1282: /* # line 719 "gram.in" */
                   1283: { if (vartype != TYUNKNOWN)
                   1284:                        dclerr("-- expected letter range",NPNULL);
                   1285:                  setimpl(vartype, varleng, 'a', 'z'); } break;
                   1286: case 126:
                   1287: /* # line 724 "gram.in" */
                   1288: { needkwd = 1; } break;
                   1289: case 130:
                   1290: /* # line 733 "gram.in" */
                   1291: { setimpl(vartype, varleng, yypvt[-0].ival, yypvt[-0].ival); } break;
                   1292: case 131:
                   1293: /* # line 735 "gram.in" */
                   1294: { setimpl(vartype, varleng, yypvt[-2].ival, yypvt[-0].ival); } break;
                   1295: case 132:
                   1296: /* # line 739 "gram.in" */
                   1297: { if(toklen!=1 || token[0]<'a' || token[0]>'z')
                   1298:                        {
                   1299:                        dclerr("implicit item must be single letter", NPNULL);
                   1300:                        yyval.ival = 0;
                   1301:                        }
                   1302:                  else yyval.ival = token[0];
                   1303:                } break;
                   1304: case 135:
                   1305: /* # line 753 "gram.in" */
                   1306: {
                   1307:                if(yypvt[-2].namval->vclass == CLUNKNOWN)
                   1308:                        {
                   1309:                        yypvt[-2].namval->vclass = CLNAMELIST;
                   1310:                        yypvt[-2].namval->vtype = TYINT;
                   1311:                        yypvt[-2].namval->vstg = STGBSS;
                   1312:                        yypvt[-2].namval->varxptr.namelist = yypvt[-0].chval;
                   1313:                        yypvt[-2].namval->vardesc.varno = ++lastvarno;
                   1314:                        }
                   1315:                else dclerr("cannot be a namelist name", yypvt[-2].namval);
                   1316:                } break;
                   1317: case 136:
                   1318: /* # line 767 "gram.in" */
                   1319: { yyval.chval = mkchain((char *)yypvt[-0].namval, CHNULL); } break;
                   1320: case 137:
                   1321: /* # line 769 "gram.in" */
                   1322: { yyval.chval = hookup(yypvt[-2].chval, mkchain((char *)yypvt[-0].namval, CHNULL)); } break;
                   1323: case 138:
                   1324: /* # line 773 "gram.in" */
                   1325: { switch(parstate)
                   1326:                        {
                   1327:                        case OUTSIDE:   newproc();
                   1328:                                        startproc(ESNULL, CLMAIN);
                   1329:                        case INSIDE:    parstate = INDCL;
                   1330:                        case INDCL:     break;
                   1331: 
                   1332:                        case INDATA:
                   1333:                                if (datagripe) {
                   1334:                                        errstr(
                   1335:                                "Statement order error: declaration after DATA",
                   1336:                                                CNULL);
                   1337:                                        datagripe = 0;
                   1338:                                        }
                   1339:                                break;
                   1340: 
                   1341:                        default:
                   1342:                                dclerr("declaration among executables", NPNULL);
                   1343:                        }
                   1344:                } break;
                   1345: case 139:
                   1346: /* # line 795 "gram.in" */
                   1347: { yyval.chval = 0; } break;
                   1348: case 140:
                   1349: /* # line 797 "gram.in" */
                   1350: { yyval.chval = revchain(yypvt[-0].chval); } break;
                   1351: case 141:
                   1352: /* # line 801 "gram.in" */
                   1353: { yyval.chval = mkchain((char *)yypvt[-0].expval, CHNULL); } break;
                   1354: case 142:
                   1355: /* # line 803 "gram.in" */
                   1356: { yyval.chval = mkchain((char *)yypvt[-0].expval, yypvt[-2].chval); } break;
                   1357: case 144:
                   1358: /* # line 808 "gram.in" */
                   1359: { yyval.expval = yypvt[-1].expval; if (yyval.expval->tag == TPRIM)
                   1360:                                        yyval.expval->primblock.parenused = 1; } break;
                   1361: case 148:
                   1362: /* # line 816 "gram.in" */
                   1363: { yyval.expval = mkexpr(yypvt[-1].ival, yypvt[-2].expval, yypvt[-0].expval); } break;
                   1364: case 149:
                   1365: /* # line 818 "gram.in" */
                   1366: { yyval.expval = mkexpr(OPSTAR, yypvt[-2].expval, yypvt[-0].expval); } break;
                   1367: case 150:
                   1368: /* # line 820 "gram.in" */
                   1369: { yyval.expval = mkexpr(OPSLASH, yypvt[-2].expval, yypvt[-0].expval); } break;
                   1370: case 151:
                   1371: /* # line 822 "gram.in" */
                   1372: { yyval.expval = mkexpr(OPPOWER, yypvt[-2].expval, yypvt[-0].expval); } break;
                   1373: case 152:
                   1374: /* # line 824 "gram.in" */
                   1375: { if(yypvt[-1].ival == OPMINUS)
                   1376:                        yyval.expval = mkexpr(OPNEG, yypvt[-0].expval, ENULL);
                   1377:                  else  yyval.expval = yypvt[-0].expval;
                   1378:                } break;
                   1379: case 153:
                   1380: /* # line 829 "gram.in" */
                   1381: { yyval.expval = mkexpr(yypvt[-1].ival, yypvt[-2].expval, yypvt[-0].expval); } break;
                   1382: case 154:
                   1383: /* # line 831 "gram.in" */
                   1384: { NO66(".EQV. operator");
                   1385:                  yyval.expval = mkexpr(OPEQV, yypvt[-2].expval,yypvt[-0].expval); } break;
                   1386: case 155:
                   1387: /* # line 834 "gram.in" */
                   1388: { NO66(".NEQV. operator");
                   1389:                  yyval.expval = mkexpr(OPNEQV, yypvt[-2].expval, yypvt[-0].expval); } break;
                   1390: case 156:
                   1391: /* # line 837 "gram.in" */
                   1392: { yyval.expval = mkexpr(OPOR, yypvt[-2].expval, yypvt[-0].expval); } break;
                   1393: case 157:
                   1394: /* # line 839 "gram.in" */
                   1395: { yyval.expval = mkexpr(OPAND, yypvt[-2].expval, yypvt[-0].expval); } break;
                   1396: case 158:
                   1397: /* # line 841 "gram.in" */
                   1398: { yyval.expval = mkexpr(OPNOT, yypvt[-0].expval, ENULL); } break;
                   1399: case 159:
                   1400: /* # line 843 "gram.in" */
                   1401: { NO66("concatenation operator //");
                   1402:                  yyval.expval = mkexpr(OPCONCAT, yypvt[-2].expval, yypvt[-0].expval); } break;
                   1403: case 160:
                   1404: /* # line 847 "gram.in" */
                   1405: { yyval.ival = OPPLUS; } break;
                   1406: case 161:
                   1407: /* # line 848 "gram.in" */
                   1408: { yyval.ival = OPMINUS; } break;
                   1409: case 162:
                   1410: /* # line 851 "gram.in" */
                   1411: { yyval.ival = OPEQ; } break;
                   1412: case 163:
                   1413: /* # line 852 "gram.in" */
                   1414: { yyval.ival = OPGT; } break;
                   1415: case 164:
                   1416: /* # line 853 "gram.in" */
                   1417: { yyval.ival = OPLT; } break;
                   1418: case 165:
                   1419: /* # line 854 "gram.in" */
                   1420: { yyval.ival = OPGE; } break;
                   1421: case 166:
                   1422: /* # line 855 "gram.in" */
                   1423: { yyval.ival = OPLE; } break;
                   1424: case 167:
                   1425: /* # line 856 "gram.in" */
                   1426: { yyval.ival = OPNE; } break;
                   1427: case 168:
                   1428: /* # line 860 "gram.in" */
                   1429: { yyval.expval = mkprim(yypvt[-0].namval, LBNULL, CHNULL); } break;
                   1430: case 169:
                   1431: /* # line 862 "gram.in" */
                   1432: { NO66("substring operator :");
                   1433:                  yyval.expval = mkprim(yypvt[-1].namval, LBNULL, yypvt[-0].chval); } break;
                   1434: case 170:
                   1435: /* # line 865 "gram.in" */
                   1436: { yyval.expval = mkprim(yypvt[-3].namval, mklist(yypvt[-1].chval), CHNULL); } break;
                   1437: case 171:
                   1438: /* # line 867 "gram.in" */
                   1439: { NO66("substring operator :");
                   1440:                  yyval.expval = mkprim(yypvt[-4].namval, mklist(yypvt[-2].chval), yypvt[-0].chval); } break;
                   1441: case 172:
                   1442: /* # line 872 "gram.in" */
                   1443: { yyval.chval = mkchain((char *)yypvt[-3].expval, mkchain((char *)yypvt[-1].expval,CHNULL)); } break;
                   1444: case 173:
                   1445: /* # line 876 "gram.in" */
                   1446: { yyval.expval = 0; } break;
                   1447: case 175:
                   1448: /* # line 881 "gram.in" */
                   1449: { if(yypvt[-0].namval->vclass == CLPARAM)
                   1450:                        yyval.expval = (expptr) cpexpr(
                   1451:                                ( (struct Paramblock *) (yypvt[-0].namval) ) -> paramval);
                   1452:                } break;
                   1453: case 177:
                   1454: /* # line 888 "gram.in" */
                   1455: { yyval.expval = mklogcon(1); } break;
                   1456: case 178:
                   1457: /* # line 889 "gram.in" */
                   1458: { yyval.expval = mklogcon(0); } break;
                   1459: case 179:
                   1460: /* # line 890 "gram.in" */
                   1461: { yyval.expval = mkstrcon(toklen, token); } break;
                   1462: case 180:
                   1463: /* # line 891 "gram.in" */
                   1464:  { yyval.expval = mkintcon( convci(toklen, token) ); } break;
                   1465: case 181:
                   1466: /* # line 892 "gram.in" */
                   1467:  { yyval.expval = mkrealcon(tyreal, token); } break;
                   1468: case 182:
                   1469: /* # line 893 "gram.in" */
                   1470:  { yyval.expval = mkrealcon(TYDREAL, token); } break;
                   1471: case 184:
                   1472: /* # line 898 "gram.in" */
                   1473: { yyval.expval = mkcxcon(yypvt[-3].expval,yypvt[-1].expval); } break;
                   1474: case 185:
                   1475: /* # line 902 "gram.in" */
                   1476: { NOEXT("hex constant");
                   1477:                  yyval.expval = mkbitcon(4, toklen, token); } break;
                   1478: case 186:
                   1479: /* # line 905 "gram.in" */
                   1480: { NOEXT("octal constant");
                   1481:                  yyval.expval = mkbitcon(3, toklen, token); } break;
                   1482: case 187:
                   1483: /* # line 908 "gram.in" */
                   1484: { NOEXT("binary constant");
                   1485:                  yyval.expval = mkbitcon(1, toklen, token); } break;
                   1486: case 189:
                   1487: /* # line 914 "gram.in" */
                   1488: { yyval.expval = yypvt[-1].expval; } break;
                   1489: case 192:
                   1490: /* # line 920 "gram.in" */
                   1491: { yyval.expval = mkexpr(yypvt[-1].ival, yypvt[-2].expval, yypvt[-0].expval); } break;
                   1492: case 193:
                   1493: /* # line 922 "gram.in" */
                   1494: { yyval.expval = mkexpr(OPSTAR, yypvt[-2].expval, yypvt[-0].expval); } break;
                   1495: case 194:
                   1496: /* # line 924 "gram.in" */
                   1497: { yyval.expval = mkexpr(OPSLASH, yypvt[-2].expval, yypvt[-0].expval); } break;
                   1498: case 195:
                   1499: /* # line 926 "gram.in" */
                   1500: { yyval.expval = mkexpr(OPPOWER, yypvt[-2].expval, yypvt[-0].expval); } break;
                   1501: case 196:
                   1502: /* # line 928 "gram.in" */
                   1503: { if(yypvt[-1].ival == OPMINUS)
                   1504:                        yyval.expval = mkexpr(OPNEG, yypvt[-0].expval, ENULL);
                   1505:                  else  yyval.expval = yypvt[-0].expval;
                   1506:                } break;
                   1507: case 197:
                   1508: /* # line 933 "gram.in" */
                   1509: { NO66("concatenation operator //");
                   1510:                  yyval.expval = mkexpr(OPCONCAT, yypvt[-2].expval, yypvt[-0].expval); } break;
                   1511: case 199:
                   1512: /* # line 938 "gram.in" */
                   1513: {
                   1514:                if(yypvt[-3].labval->labdefined)
                   1515:                        execerr("no backward DO loops", CNULL);
                   1516:                yypvt[-3].labval->blklevel = blklevel+1;
                   1517:                exdo(yypvt[-3].labval->labelno, NPNULL, yypvt[-0].chval);
                   1518:                } break;
                   1519: case 200:
                   1520: /* # line 945 "gram.in" */
                   1521: {
                   1522:                exdo((int)(ctls - ctlstack - 2), NPNULL, yypvt[-0].chval);
                   1523:                NOEXT("DO without label");
                   1524:                } break;
                   1525: case 201:
                   1526: /* # line 950 "gram.in" */
                   1527: { exenddo(NPNULL); } break;
                   1528: case 202:
                   1529: /* # line 952 "gram.in" */
                   1530: { exendif();  thiswasbranch = NO; } break;
                   1531: case 204:
                   1532: /* # line 955 "gram.in" */
                   1533: { exelif(yypvt[-2].expval); lastwasbranch = NO; } break;
                   1534: case 205:
                   1535: /* # line 957 "gram.in" */
                   1536: { exelse(); lastwasbranch = NO; } break;
                   1537: case 206:
                   1538: /* # line 959 "gram.in" */
                   1539: { exendif(); lastwasbranch = NO; } break;
                   1540: case 207:
                   1541: /* # line 963 "gram.in" */
                   1542: { exif(yypvt[-1].expval); } break;
                   1543: case 208:
                   1544: /* # line 967 "gram.in" */
                   1545: { yyval.chval = mkchain((char *)yypvt[-2].namval, yypvt[-0].chval); } break;
                   1546: case 210:
                   1547: /* # line 972 "gram.in" */
                   1548: { yyval.chval = mkchain(CNULL, (chainp)yypvt[-1].expval); } break;
                   1549: case 211:
                   1550: /* # line 976 "gram.in" */
                   1551: { exequals((struct Primblock *)yypvt[-2].expval, yypvt[-0].expval); } break;
                   1552: case 212:
                   1553: /* # line 978 "gram.in" */
                   1554: { exassign(yypvt[-0].namval, yypvt[-2].labval); } break;
                   1555: case 215:
                   1556: /* # line 982 "gram.in" */
                   1557: { inioctl = NO; } break;
                   1558: case 216:
                   1559: /* # line 984 "gram.in" */
                   1560: { exarif(yypvt[-6].expval, yypvt[-4].labval, yypvt[-2].labval, yypvt[-0].labval);  thiswasbranch = YES; } break;
                   1561: case 217:
                   1562: /* # line 986 "gram.in" */
                   1563: { excall(yypvt[-0].namval, LBNULL, 0, labarray); } break;
                   1564: case 218:
                   1565: /* # line 988 "gram.in" */
                   1566: { excall(yypvt[-2].namval, LBNULL, 0, labarray); } break;
                   1567: case 219:
                   1568: /* # line 990 "gram.in" */
                   1569: { if(nstars < maxlablist)
                   1570:                        excall(yypvt[-3].namval, mklist(revchain(yypvt[-1].chval)), nstars, labarray);
                   1571:                  else
                   1572:                        many("alternate returns", 'l', maxlablist);
                   1573:                } break;
                   1574: case 220:
                   1575: /* # line 996 "gram.in" */
                   1576: { exreturn(yypvt[-0].expval);  thiswasbranch = YES; } break;
                   1577: case 221:
                   1578: /* # line 998 "gram.in" */
                   1579: { exstop(yypvt[-2].ival, yypvt[-0].expval);  thiswasbranch = yypvt[-2].ival; } break;
                   1580: case 222:
                   1581: /* # line 1002 "gram.in" */
                   1582: { yyval.labval = mklabel( convci(toklen, token) ); } break;
                   1583: case 223:
                   1584: /* # line 1006 "gram.in" */
                   1585: { if(parstate == OUTSIDE)
                   1586:                        {
                   1587:                        newproc();
                   1588:                        startproc(ESNULL, CLMAIN);
                   1589:                        }
                   1590:                } break;
                   1591: case 224:
                   1592: /* # line 1015 "gram.in" */
                   1593: { exgoto(yypvt[-0].labval);  thiswasbranch = YES; } break;
                   1594: case 225:
                   1595: /* # line 1017 "gram.in" */
                   1596: { exasgoto(yypvt[-0].namval);  thiswasbranch = YES; } break;
                   1597: case 226:
                   1598: /* # line 1019 "gram.in" */
                   1599: { exasgoto(yypvt[-4].namval);  thiswasbranch = YES; } break;
                   1600: case 227:
                   1601: /* # line 1021 "gram.in" */
                   1602: { if(nstars < maxlablist)
                   1603:                        putcmgo(putx(fixtype(yypvt[-0].expval)), nstars, labarray);
                   1604:                  else
                   1605:                        many("labels in computed GOTO list", 'l', maxlablist);
                   1606:                } break;
                   1607: case 230:
                   1608: /* # line 1033 "gram.in" */
                   1609: { nstars = 0; yyval.namval = yypvt[-0].namval; } break;
                   1610: case 231:
                   1611: /* # line 1037 "gram.in" */
                   1612: { yyval.chval = yypvt[-0].expval ? mkchain((char *)yypvt[-0].expval,CHNULL) : CHNULL; } break;
                   1613: case 232:
                   1614: /* # line 1039 "gram.in" */
                   1615: { yyval.chval = yypvt[-0].expval ? mkchain((char *)yypvt[-0].expval, yypvt[-2].chval) : yypvt[-2].chval; } break;
                   1616: case 234:
                   1617: /* # line 1044 "gram.in" */
                   1618: { if(nstars < maxlablist) labarray[nstars++] = yypvt[-0].labval; yyval.expval = 0; } break;
                   1619: case 235:
                   1620: /* # line 1048 "gram.in" */
                   1621: { yyval.ival = 0; } break;
                   1622: case 236:
                   1623: /* # line 1050 "gram.in" */
                   1624: { yyval.ival = 2; } break;
                   1625: case 237:
                   1626: /* # line 1054 "gram.in" */
                   1627: { yyval.chval = mkchain((char *)yypvt[-0].expval, CHNULL); } break;
                   1628: case 238:
                   1629: /* # line 1056 "gram.in" */
                   1630: { yyval.chval = hookup(yypvt[-2].chval, mkchain((char *)yypvt[-0].expval,CHNULL) ); } break;
                   1631: case 239:
                   1632: /* # line 1060 "gram.in" */
                   1633: { if(parstate == OUTSIDE)
                   1634:                        {
                   1635:                        newproc();
                   1636:                        startproc(ESNULL, CLMAIN);
                   1637:                        }
                   1638: 
                   1639: /* This next statement depends on the ordering of the state table encoding */
                   1640: 
                   1641:                  if(parstate < INDATA) enddcl();
                   1642:                } break;
                   1643: case 240:
                   1644: /* # line 1073 "gram.in" */
                   1645: { intonly = YES; } break;
                   1646: case 241:
                   1647: /* # line 1077 "gram.in" */
                   1648: { intonly = NO; } break;
                   1649: case 242:
                   1650: /* # line 1082 "gram.in" */
                   1651: { endio(); } break;
                   1652: case 244:
                   1653: /* # line 1087 "gram.in" */
                   1654: { ioclause(IOSUNIT, yypvt[-0].expval); endioctl(); } break;
                   1655: case 245:
                   1656: /* # line 1089 "gram.in" */
                   1657: { ioclause(IOSUNIT, ENULL); endioctl(); } break;
                   1658: case 246:
                   1659: /* # line 1091 "gram.in" */
                   1660: { ioclause(IOSUNIT, IOSTDERR); endioctl(); } break;
                   1661: case 248:
                   1662: /* # line 1094 "gram.in" */
                   1663: { doio(CHNULL); } break;
                   1664: case 249:
                   1665: /* # line 1096 "gram.in" */
                   1666: { doio(CHNULL); } break;
                   1667: case 250:
                   1668: /* # line 1098 "gram.in" */
                   1669: { doio(revchain(yypvt[-0].chval)); } break;
                   1670: case 251:
                   1671: /* # line 1100 "gram.in" */
                   1672: { doio(revchain(yypvt[-0].chval)); } break;
                   1673: case 252:
                   1674: /* # line 1102 "gram.in" */
                   1675: { doio(revchain(yypvt[-0].chval)); } break;
                   1676: case 253:
                   1677: /* # line 1104 "gram.in" */
                   1678: { doio(CHNULL); } break;
                   1679: case 254:
                   1680: /* # line 1106 "gram.in" */
                   1681: { doio(revchain(yypvt[-0].chval)); } break;
                   1682: case 255:
                   1683: /* # line 1108 "gram.in" */
                   1684: { doio(CHNULL); } break;
                   1685: case 256:
                   1686: /* # line 1110 "gram.in" */
                   1687: { doio(revchain(yypvt[-0].chval)); } break;
                   1688: case 258:
                   1689: /* # line 1117 "gram.in" */
                   1690: { iostmt = IOBACKSPACE; } break;
                   1691: case 259:
                   1692: /* # line 1119 "gram.in" */
                   1693: { iostmt = IOREWIND; } break;
                   1694: case 260:
                   1695: /* # line 1121 "gram.in" */
                   1696: { iostmt = IOENDFILE; } break;
                   1697: case 262:
                   1698: /* # line 1128 "gram.in" */
                   1699: { iostmt = IOINQUIRE; } break;
                   1700: case 263:
                   1701: /* # line 1130 "gram.in" */
                   1702: { iostmt = IOOPEN; } break;
                   1703: case 264:
                   1704: /* # line 1132 "gram.in" */
                   1705: { iostmt = IOCLOSE; } break;
                   1706: case 265:
                   1707: /* # line 1136 "gram.in" */
                   1708: {
                   1709:                ioclause(IOSUNIT, ENULL);
                   1710:                ioclause(IOSFMT, yypvt[-0].expval);
                   1711:                endioctl();
                   1712:                } break;
                   1713: case 266:
                   1714: /* # line 1142 "gram.in" */
                   1715: {
                   1716:                ioclause(IOSUNIT, ENULL);
                   1717:                ioclause(IOSFMT, ENULL);
                   1718:                endioctl();
                   1719:                } break;
                   1720: case 267:
                   1721: /* # line 1150 "gram.in" */
                   1722: {
                   1723:                  ioclause(IOSUNIT, yypvt[-1].expval);
                   1724:                  endioctl();
                   1725:                } break;
                   1726: case 268:
                   1727: /* # line 1155 "gram.in" */
                   1728: { endioctl(); } break;
                   1729: case 271:
                   1730: /* # line 1163 "gram.in" */
                   1731: { ioclause(IOSPOSITIONAL, yypvt[-0].expval); } break;
                   1732: case 272:
                   1733: /* # line 1165 "gram.in" */
                   1734: { ioclause(IOSPOSITIONAL, ENULL); } break;
                   1735: case 273:
                   1736: /* # line 1167 "gram.in" */
                   1737: { ioclause(IOSPOSITIONAL, IOSTDERR); } break;
                   1738: case 274:
                   1739: /* # line 1169 "gram.in" */
                   1740: { ioclause(yypvt[-1].ival, yypvt[-0].expval); } break;
                   1741: case 275:
                   1742: /* # line 1171 "gram.in" */
                   1743: { ioclause(yypvt[-1].ival, ENULL); } break;
                   1744: case 276:
                   1745: /* # line 1173 "gram.in" */
                   1746: { ioclause(yypvt[-1].ival, IOSTDERR); } break;
                   1747: case 277:
                   1748: /* # line 1177 "gram.in" */
                   1749: { yyval.ival = iocname(); } break;
                   1750: case 278:
                   1751: /* # line 1181 "gram.in" */
                   1752: { iostmt = IOREAD; } break;
                   1753: case 279:
                   1754: /* # line 1185 "gram.in" */
                   1755: { iostmt = IOWRITE; } break;
                   1756: case 280:
                   1757: /* # line 1189 "gram.in" */
                   1758: {
                   1759:                iostmt = IOWRITE;
                   1760:                ioclause(IOSUNIT, ENULL);
                   1761:                ioclause(IOSFMT, yypvt[-1].expval);
                   1762:                endioctl();
                   1763:                } break;
                   1764: case 281:
                   1765: /* # line 1196 "gram.in" */
                   1766: {
                   1767:                iostmt = IOWRITE;
                   1768:                ioclause(IOSUNIT, ENULL);
                   1769:                ioclause(IOSFMT, ENULL);
                   1770:                endioctl();
                   1771:                } break;
                   1772: case 282:
                   1773: /* # line 1205 "gram.in" */
                   1774: { yyval.chval = mkchain((char *)yypvt[-0].tagval, CHNULL); } break;
                   1775: case 283:
                   1776: /* # line 1207 "gram.in" */
                   1777: { yyval.chval = mkchain((char *)yypvt[-0].tagval, yypvt[-2].chval); } break;
                   1778: case 284:
                   1779: /* # line 1211 "gram.in" */
                   1780: { yyval.tagval = (tagptr) yypvt[-0].expval; } break;
                   1781: case 285:
                   1782: /* # line 1213 "gram.in" */
                   1783: { yyval.tagval = (tagptr) mkiodo(yypvt[-1].chval,revchain(yypvt[-3].chval)); } break;
                   1784: case 286:
                   1785: /* # line 1217 "gram.in" */
                   1786: { yyval.chval = mkchain((char *)yypvt[-0].expval, CHNULL); } break;
                   1787: case 287:
                   1788: /* # line 1219 "gram.in" */
                   1789: { yyval.chval = mkchain((char *)yypvt[-0].tagval, CHNULL); } break;
                   1790: case 289:
                   1791: /* # line 1224 "gram.in" */
                   1792: { yyval.chval = mkchain((char *)yypvt[-0].expval, mkchain((char *)yypvt[-2].expval, CHNULL) ); } break;
                   1793: case 290:
                   1794: /* # line 1226 "gram.in" */
                   1795: { yyval.chval = mkchain((char *)yypvt[-0].tagval, mkchain((char *)yypvt[-2].expval, CHNULL) ); } break;
                   1796: case 291:
                   1797: /* # line 1228 "gram.in" */
                   1798: { yyval.chval = mkchain((char *)yypvt[-0].expval, mkchain((char *)yypvt[-2].tagval, CHNULL) ); } break;
                   1799: case 292:
                   1800: /* # line 1230 "gram.in" */
                   1801: { yyval.chval = mkchain((char *)yypvt[-0].tagval, mkchain((char *)yypvt[-2].tagval, CHNULL) ); } break;
                   1802: case 293:
                   1803: /* # line 1232 "gram.in" */
                   1804: { yyval.chval = mkchain((char *)yypvt[-0].expval, yypvt[-2].chval); } break;
                   1805: case 294:
                   1806: /* # line 1234 "gram.in" */
                   1807: { yyval.chval = mkchain((char *)yypvt[-0].tagval, yypvt[-2].chval); } break;
                   1808: case 295:
                   1809: /* # line 1238 "gram.in" */
                   1810: { yyval.tagval = (tagptr) yypvt[-0].expval; } break;
                   1811: case 296:
                   1812: /* # line 1240 "gram.in" */
                   1813: { yyval.tagval = (tagptr) yypvt[-1].expval; } break;
                   1814: case 297:
                   1815: /* # line 1242 "gram.in" */
                   1816: { yyval.tagval = (tagptr) mkiodo(yypvt[-1].chval, mkchain((char *)yypvt[-3].expval, CHNULL) ); } break;
                   1817: case 298:
                   1818: /* # line 1244 "gram.in" */
                   1819: { yyval.tagval = (tagptr) mkiodo(yypvt[-1].chval, mkchain((char *)yypvt[-3].tagval, CHNULL) ); } break;
                   1820: case 299:
                   1821: /* # line 1246 "gram.in" */
                   1822: { yyval.tagval = (tagptr) mkiodo(yypvt[-1].chval, revchain(yypvt[-3].chval)); } break;
                   1823: case 300:
                   1824: /* # line 1250 "gram.in" */
                   1825: { startioctl(); } break;
                   1826:        }
                   1827:        goto yystack;  /* stack new state and value */
                   1828: }

unix.superglobalmegacorp.com

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