Annotation of coherent/d/bin/awk/y.tab.c, revision 1.1.1.1

1.1       root        1: 
                      2: #line 19 "awk.y"
                      3: 
                      4: #include "awk.h"
                      5: 
                      6: 
                      7: #include "y.tab.h"
                      8: #define YYCLEARIN yychar = -1000
                      9: #define YYERROK yyerrflag = 0
                     10: extern int yychar;
                     11: extern short yyerrflag;
                     12: #ifndef YYMAXDEPTH
                     13: #define YYMAXDEPTH 150
                     14: #endif
                     15: YYSTYPE yyval, yylval;
                     16: #ifdef YYTNAMES
                     17: struct yytname yytnames[68] =
                     18: {
                     19:        "$end", -1, 
                     20:        "error", -2, 
                     21:        "IF_", 256, 
                     22:        "WHILE_", 257, 
                     23:        "FOR_", 258, 
                     24:        "ELSE_", 259, 
                     25:        "BREAK_", 260, 
                     26:        "CONTINUE_", 261, 
                     27:        "NEXT_", 262, 
                     28:        "EXIT_", 263, 
                     29:        "IN_", 264, 
                     30:        "PRINT_", 265, 
                     31:        "PRINTF_", 266, 
                     32:        "BEGIN_", 267, 
                     33:        "END_", 268, 
                     34:        "FAPPEND_", 269, 
                     35:        "FOUT_", 270, 
                     36:        "ID_", 271, 
                     37:        "STRING_", 272, 
                     38:        "NUMBER_", 273, 
                     39:        "FUNCTION_", 274, 
                     40:        "SCON_", 295, 
                     41:        "ASADD_", 296, 
                     42:        "ASSUB_", 297, 
                     43:        "ASMUL_", 298, 
                     44:        "ASDIV_", 299, 
                     45:        "'='", 61, 
                     46:        "ASMOD_", 300, 
                     47:        "OROR_", 301, 
                     48:        "ANDAND_", 302, 
                     49:        "'~'", 126, 
                     50:        "NMATCH_", 303, 
                     51:        "EQ_", 304, 
                     52:        "NE_", 305, 
                     53:        "GE_", 306, 
                     54:        "'>'", 62, 
                     55:        "LE_", 307, 
                     56:        "'<'", 60, 
                     57:        "'+'", 43, 
                     58:        "'-'", 45, 
                     59:        "'*'", 42, 
                     60:        "'/'", 47, 
                     61:        "'%'", 37, 
                     62:        "'!'", 33, 
                     63:        "INC_", 308, 
                     64:        "DEC_", 309, 
                     65:        "'$'", 36, 
                     66:        "'('", 40, 
                     67:        "'['", 91, 
                     68:        "REEOL_", 310, 
                     69:        "REBOL_", 311, 
                     70:        "REANY_", 312, 
                     71:        "RECLASS_", 313, 
                     72:        "RECHAR_", 314, 
                     73:        "REOR_", 315, 
                     74:        "RECON_", 316, 
                     75:        "RECLOS_", 317, 
                     76:        "RENECL_", 318, 
                     77:        "REZOCL_", 319, 
                     78:        "'\\n'", 10, 
                     79:        "','", 44, 
                     80:        "')'", 41, 
                     81:        "'{'", 123, 
                     82:        "'}'", 125, 
                     83:        "';'", 59, 
                     84:        "']'", 93, 
                     85:        "'|'", 124, 
                     86:        NULL
                     87: } ;
                     88: #endif
                     89: #include <action.h>
                     90: unsigned char yypdnt[102] = {
                     91: 0, 1, 2, 2, 3, 3, 3, 5,
                     92: 5, 5, 5, 8, 7, 10, 7, 9,
                     93: 9, 9, 9, 9, 9, 9, 9, 9,
                     94: 11, 11, 11, 4, 13, 15, 13, 13,
                     95: 13, 13, 13, 13, 13, 13, 17, 13,
                     96: 20, 13, 21, 13, 13, 13, 13, 12,
                     97: 12, 14, 22, 22, 22, 22, 22, 22,
                     98: 24, 24, 24, 24, 24, 16, 16, 16,
                     99: 16, 26, 26, 25, 25, 23, 23, 6,
                    100: 6, 6, 6, 6, 6, 6, 6, 6,
                    101: 6, 6, 6, 6, 6, 6, 6, 6,
                    102: 6, 6, 6, 6, 6, 6, 19, 19,
                    103: 19, 19, 18, 18, 27, 27 
                    104: };
                    105: unsigned char yypn[102] = {
                    106: 2, 1, 2, 1, 2, 2, 3, 1,
                    107: 1, 1, 3, 0, 4, 0, 4, 2,
                    108: 3, 3, 2, 1, 1, 1, 1, 1,
                    109: 1, 1, 1, 3, 5, 0, 8, 5,
                    110: 7, 9, 2, 2, 1, 2, 0, 4,
                    111: 0, 3, 0, 4, 2, 2, 1, 1,
                    112: 2, 1, 3, 3, 2, 2, 2, 2,
                    113: 1, 1, 1, 1, 1, 4, 2, 4,
                    114: 1, 1, 1, 1, 1, 1, 2, 3,
                    115: 3, 3, 2, 2, 1, 1, 3, 3,
                    116: 3, 3, 3, 3, 3, 3, 3, 3,
                    117: 3, 3, 3, 1, 4, 1, 3, 3,
                    118: 3, 1, 3, 1, 1, 3 
                    119: };
                    120: unsigned char yypgo[28] = {
                    121: 0, 0, 2, 6, 8, 16, 18, 94,
                    122: 102, 104, 112, 114, 116, 120, 132, 140,
                    123: 142, 160, 162, 166, 172, 174, 176, 178,
                    124: 190, 192, 202, 204 
                    125: };
                    126: unsigned int yygo[212] = {
                    127: -1000, 16, 18, 55, -1000, 17, -1000, 18,
                    128: 0, 19, 18, 19, 20, 58, -1000, 50,
                    129: -1000, 20, 0, 21, 8, 30, 10, 32,
                    130: 15, 51, 18, 21, 35, 95, 39, 97,
                    131: 53, 51, 59, 112, 60, 113, 63, 116,
                    132: 64, 117, 65, 118, 66, 119, 67, 120,
                    133: 68, 121, 69, 122, 70, 123, 71, 124,
                    134: 72, 125, 73, 126, 74, 127, 85, 97,
                    135: 86, 97, 98, 143, 99, 144, 100, 145,
                    136: 128, 97, 129, 97, 160, 51, 161, 51,
                    137: 162, 173, 164, 97, 180, 183, 181, 51,
                    138: 182, 51, 186, 51, -1000, 38, 61, 114,
                    139: 62, 115, 84, 130, -1000, 22, -1000, 31,
                    140: 31, 94, 88, 134, 136, 158, -1000, 140,
                    141: -1000, 84, -1000, 141, 53, 110, -1000, 52,
                    142: 160, 171, 161, 172, 181, 184, 182, 185,
                    143: 186, 187, -1000, 53, 144, 161, 174, 181,
                    144: 183, 186, -1000, 160, -1000, 182, 11, 33,
                    145: 12, 34, 13, 36, 100, 146, 150, 36,
                    146: 151, 36, 153, 36, 163, 174, -1000, 23,
                    147: -1000, 105, 107, 155, -1000, 148, 148, 166,
                    148: 155, 170, -1000, 154, -1000, 106, -1000, 107,
                    149: -1000, 24, 14, 39, 28, 85, 79, 128,
                    150: 83, 129, 147, 164, -1000, 86, -1000, 83,
                    151: 13, 37, 150, 167, 151, 168, 153, 169,
                    152: -1000, 25, -1000, 26, 29, 87, 132, 156,
                    153: 147, 165, -1000, 149 
                    154: };
                    155: unsigned short yypa[188] = {
                    156: 0, 30, 34, 36, 38, 42, 44, 46,
                    157: 50, 74, 50, 76, 76, 82, 50, 94,
                    158: 140, 144, 146, 178, 182, 188, 222, 224,
                    159: 242, 244, 246, 248, 50, 50, 250, 252,
                    160: 266, 268, 270, 50, 272, 274, 276, 308,
                    161: 334, 338, 342, 346, 350, 354, 358, 362,
                    162: 372, 374, 376, 378, 412, 416, 464, 468,
                    163: 470, 472, 474, 50, 50, 478, 478, 50,
                    164: 50, 50, 50, 50, 50, 50, 50, 50,
                    165: 50, 50, 50, 482, 484, 486, 488, 50,
                    166: 490, 492, 494, 50, 496, 500, 526, 562,
                    167: 252, 566, 568, 570, 572, 574, 576, 600,
                    168: 634, 636, 50, 50, 50, 668, 670, 672,
                    169: 674, 676, 700, 676, 710, 712, 714, 716,
                    170: 718, 748, 776, 778, 780, 804, 828, 848,
                    171: 868, 888, 908, 916, 924, 926, 928, 930,
                    172: 962, 1030, 1098, 1100, 50, 1102, 1104, 1128,
                    173: 252, 1130, 1132, 1134, 1136, 1154, 1156, 1158,
                    174: 1158, 1192, 1226, 50, 1246, 1256, 1258, 1258,
                    175: 1268, 1258, 1270, 1246, 1272, 1274, 1276, 1294,
                    176: 94, 94, 50, 76, 1296, 1324, 1328, 1330,
                    177: 1334, 1338, 1342, 1344, 1348, 1350, 1384, 1388,
                    178: 1390, 1392, 1394, 1396, 50, 94, 94, 1158,
                    179: 1398, 1400, 94, 1402 
                    180: };
                    181: unsigned int yyact[1404] = {
                    182: 2, 267, 3, 268, 4, 271, 5, 272,
                    183: 6, 273, 7, 274, 8, 45, 9, 47,
                    184: 10, 33, 11, 308, 12, 309, 13, 36,
                    185: 14, 40, 15, 123, 1, -1000, 27, 10,
                    186: 24576, -1000, 8199, -1000, 8200, -1000, 28, 91,
                    187: 8256, -1000, 8257, -1000, 8258, -1000, 29, 40,
                    188: 8285, -1000, 4, 271, 5, 272, 6, 273,
                    189: 7, 274, 8, 45, 9, 47, 10, 33,
                    190: 11, 308, 12, 309, 13, 36, 14, 40,
                    191: 1, -1000, 8203, -1000, 4, 271, 13, 36,
                    192: 24576, -1000, 4, 271, 5, 272, 6, 273,
                    193: 13, 36, 35, 40, 24576, -1000, 40, 256,
                    194: 41, 257, 42, 258, 43, 260, 44, 261,
                    195: 45, 262, 46, 263, 47, 265, 48, 266,
                    196: 4, 271, 5, 272, 6, 273, 7, 274,
                    197: 8, 45, 9, 47, 10, 33, 11, 308,
                    198: 12, 309, 13, 36, 14, 40, 15, 123,
                    199: 49, 59, 1, -1000, 54, -1, 24576, -1000,
                    200: 8193, -1000, 2, 267, 3, 268, 4, 271,
                    201: 5, 272, 6, 273, 7, 274, 8, 45,
                    202: 9, 47, 10, 33, 11, 308, 12, 309,
                    203: 13, 36, 14, 40, 15, 123, 8195, -1,
                    204: 1, -1000, 56, 10, 24576, -1000, 57, 10,
                    205: 15, 123, 24576, -1000, 59, 301, 60, 302,
                    206: 61, 126, 62, 303, 63, 304, 64, 305,
                    207: 65, 306, 66, 62, 67, 307, 68, 60,
                    208: 69, 43, 70, 45, 71, 42, 72, 47,
                    209: 73, 37, 74, 44, 8201, -1000, 8283, -1000,
                    210: 75, 296, 76, 297, 77, 298, 78, 299,
                    211: 79, 61, 80, 300, 81, 308, 82, 309,
                    212: 8259, -1000, 8269, -1000, 8268, -1000, 8260, -1000,
                    213: 8205, -1000, 8267, -1000, 88, 40, 89, 310,
                    214: 90, 311, 91, 312, 92, 313, 93, 314,
                    215: 24576, -1000, 8266, -1000, 8244, -1000, 8246, -1000,
                    216: 8259, -1000, 8254, -1000, 59, 301, 60, 302,
                    217: 61, 126, 62, 303, 63, 304, 64, 305,
                    218: 65, 306, 66, 62, 67, 307, 68, 60,
                    219: 69, 43, 70, 45, 71, 42, 72, 47,
                    220: 73, 37, 8261, -1000, 4, 271, 5, 272,
                    221: 6, 273, 7, 274, 8, 45, 9, 47,
                    222: 10, 33, 11, 308, 12, 309, 13, 36,
                    223: 14, 40, 96, 41, 1, -1000, 98, 40,
                    224: 24576, -1000, 99, 40, 24576, -1000, 100, 40,
                    225: 24576, -1000, 101, 59, 24576, -1000, 102, 59,
                    226: 24576, -1000, 103, 59, 24576, -1000, 104, 59,
                    227: 24576, -1000, 8232, 269, 8232, 270, 8232, 59,
                    228: 8232, 124, 8230, -1000, 8234, -1000, 8238, -1000,
                    229: 8228, -1000, 59, 301, 60, 302, 61, 126,
                    230: 62, 303, 63, 304, 64, 305, 65, 306,
                    231: 66, 62, 67, 307, 68, 60, 69, 43,
                    232: 70, 45, 71, 42, 72, 47, 73, 37,
                    233: 108, 59, 24576, -1000, 109, 125, 24576, -1000,
                    234: 40, 256, 41, 257, 42, 258, 43, 260,
                    235: 44, 261, 45, 262, 46, 263, 47, 265,
                    236: 48, 266, 4, 271, 5, 272, 6, 273,
                    237: 7, 274, 8, 45, 9, 47, 10, 33,
                    238: 11, 308, 12, 309, 13, 36, 14, 40,
                    239: 15, 123, 49, 59, 8239, 125, 1, -1000,
                    240: 16384, -1, 24576, -1000, 8194, -1000, 8196, -1000,
                    241: 8197, -1000, 111, 10, 24576, -1000, 9, 47,
                    242: 1, -1000, 8248, -1000, 8249, -1000, 8250, -1000,
                    243: 8251, -1000, 8252, -1000, 8245, -1000, 8247, -1000,
                    244: 9, 47, 1, -1000, 4, 271, 5, 272,
                    245: 6, 273, 7, 274, 8, 45, 9, 47,
                    246: 10, 33, 11, 308, 12, 309, 13, 36,
                    247: 14, 40, 131, 93, 1, -1000, 4, 271,
                    248: 5, 272, 6, 273, 7, 274, 8, 45,
                    249: 9, 47, 10, 33, 11, 308, 12, 309,
                    250: 13, 36, 14, 40, 132, 44, 8292, 269,
                    251: 8292, 270, 8292, 41, 8292, 59, 8292, 124,
                    252: 1, -1000, 133, 41, 24576, -1000, 8214, -1000,
                    253: 8213, -1000, 8212, -1000, 8211, -1000, 8215, -1000,
                    254: 135, 47, 88, 40, 89, 310, 90, 311,
                    255: 91, 312, 92, 313, 93, 314, 136, 315,
                    256: 137, 317, 138, 318, 139, 319, 24576, -1000,
                    257: 59, 301, 60, 302, 61, 126, 62, 303,
                    258: 63, 304, 64, 305, 65, 306, 66, 62,
                    259: 67, 307, 68, 60, 69, 43, 70, 45,
                    260: 71, 42, 72, 47, 73, 37, 142, 41,
                    261: 24576, -1000, 8263, -1000, 59, 301, 60, 302,
                    262: 61, 126, 62, 303, 63, 304, 64, 305,
                    263: 65, 306, 66, 62, 67, 307, 68, 60,
                    264: 69, 43, 70, 45, 71, 42, 72, 47,
                    265: 73, 37, 8262, -1000, 8226, -1000, 8227, -1000,
                    266: 8236, -1000, 8237, -1000, 4, 271, 5, 272,
                    267: 6, 273, 7, 274, 8, 45, 9, 47,
                    268: 10, 33, 11, 308, 12, 309, 13, 36,
                    269: 147, 40, 1, -1000, 150, 269, 151, 270,
                    270: 152, 59, 153, 124, 24576, -1000, 8229, -1000,
                    271: 8219, -1000, 8240, -1000, 8198, -1000, 60, 302,
                    272: 61, 126, 62, 303, 63, 304, 64, 305,
                    273: 65, 306, 66, 62, 67, 307, 68, 60,
                    274: 69, 43, 70, 45, 71, 42, 72, 47,
                    275: 73, 37, 8265, -1000, 61, 126, 62, 303,
                    276: 63, 304, 64, 305, 65, 306, 66, 62,
                    277: 67, 307, 68, 60, 69, 43, 70, 45,
                    278: 71, 42, 72, 47, 73, 37, 8264, -1000,
                    279: 8281, -1000, 8282, -1000, 63, 304, 64, 305,
                    280: 65, 306, 66, 62, 67, 307, 68, 60,
                    281: 69, 43, 70, 45, 71, 42, 72, 47,
                    282: 73, 37, 8277, -1000, 63, 304, 64, 305,
                    283: 65, 306, 66, 62, 67, 307, 68, 60,
                    284: 69, 43, 70, 45, 71, 42, 72, 47,
                    285: 73, 37, 8278, -1000, 65, 306, 66, 62,
                    286: 67, 307, 68, 60, 69, 43, 70, 45,
                    287: 71, 42, 72, 47, 73, 37, 8279, -1000,
                    288: 65, 306, 66, 62, 67, 307, 68, 60,
                    289: 69, 43, 70, 45, 71, 42, 72, 47,
                    290: 73, 37, 8275, -1000, 65, 306, 66, 62,
                    291: 67, 307, 68, 60, 69, 43, 70, 45,
                    292: 71, 42, 72, 47, 73, 37, 8280, -1000,
                    293: 65, 306, 66, 62, 67, 307, 68, 60,
                    294: 69, 43, 70, 45, 71, 42, 72, 47,
                    295: 73, 37, 8276, -1000, 71, 42, 72, 47,
                    296: 73, 37, 8270, -1000, 71, 42, 72, 47,
                    297: 73, 37, 8271, -1000, 8272, -1000, 8273, -1000,
                    298: 8274, -1000, 59, 301, 60, 302, 61, 126,
                    299: 62, 303, 63, 304, 64, 305, 65, 306,
                    300: 66, 62, 67, 307, 68, 60, 69, 43,
                    301: 70, 45, 71, 42, 72, 47, 73, 37,
                    302: 8202, -1000, 4, 271, 5, 272, 6, 273,
                    303: 7, 274, 8, 45, 9, 47, 10, 33,
                    304: 11, 308, 12, 309, 13, 36, 14, 40,
                    305: 8242, 269, 8242, 270, 8242, 301, 8242, 302,
                    306: 8242, 126, 8242, 303, 8242, 304, 8242, 305,
                    307: 8242, 306, 8242, 62, 8242, 307, 8242, 60,
                    308: 8242, 43, 8242, 42, 8242, 37, 8242, 10,
                    309: 8242, 44, 8242, 41, 8242, 123, 8242, 59,
                    310: 8242, 93, 8242, 124, 1, -1000, 4, 271,
                    311: 5, 272, 6, 273, 7, 274, 8, 45,
                    312: 9, 47, 10, 33, 11, 308, 12, 309,
                    313: 13, 36, 14, 40, 8243, 269, 8243, 270,
                    314: 8243, 301, 8243, 302, 8243, 126, 8243, 303,
                    315: 8243, 304, 8243, 305, 8243, 306, 8243, 62,
                    316: 8243, 307, 8243, 60, 8243, 43, 8243, 42,
                    317: 8243, 37, 8243, 10, 8243, 44, 8243, 41,
                    318: 8243, 123, 8243, 59, 8243, 93, 8243, 124,
                    319: 1, -1000, 8206, -1000, 8255, -1000, 8284, -1000,
                    320: 88, 40, 89, 310, 90, 311, 91, 312,
                    321: 92, 313, 93, 314, 136, 315, 137, 317,
                    322: 138, 318, 139, 319, 157, 41, 24576, -1000,
                    323: 8204, -1000, 8216, -1000, 8218, -1000, 8217, -1000,
                    324: 89, 310, 90, 311, 91, 312, 92, 313,
                    325: 93, 314, 137, 317, 138, 318, 139, 319,
                    326: 8207, -1000, 8210, -1000, 8253, -1000, 59, 301,
                    327: 60, 302, 61, 126, 62, 303, 63, 304,
                    328: 64, 305, 65, 306, 66, 62, 67, 307,
                    329: 68, 60, 69, 43, 70, 45, 71, 42,
                    330: 72, 47, 73, 37, 159, 41, 24576, -1000,
                    331: 59, 301, 60, 302, 61, 126, 62, 303,
                    332: 63, 304, 64, 305, 65, 306, 66, 62,
                    333: 67, 307, 68, 60, 69, 43, 70, 45,
                    334: 71, 42, 72, 47, 73, 37, 162, 59,
                    335: 24576, -1000, 163, 264, 75, 296, 76, 297,
                    336: 77, 298, 78, 299, 79, 61, 80, 300,
                    337: 81, 308, 82, 309, 8259, -1000, 150, 269,
                    338: 151, 270, 152, 59, 153, 124, 24576, -1000,
                    339: 8291, -1000, 4, 271, 5, 272, 6, 273,
                    340: 13, 36, 24576, -1000, 8289, -1000, 8233, -1000,
                    341: 8293, -1000, 8208, -1000, 89, 310, 90, 311,
                    342: 91, 312, 92, 313, 93, 314, 137, 317,
                    343: 138, 318, 139, 319, 8209, -1000, 8241, -1000,
                    344: 4, 271, 5, 272, 6, 273, 7, 274,
                    345: 8, 45, 9, 47, 10, 33, 11, 308,
                    346: 12, 309, 13, 36, 14, 40, 132, 44,
                    347: 96, 41, 1, -1000, 175, 41, 24576, -1000,
                    348: 8231, -1000, 176, 59, 24576, -1000, 177, 59,
                    349: 24576, -1000, 178, 59, 24576, -1000, 8235, -1000,
                    350: 179, 259, 8220, -1000, 8223, -1000, 59, 301,
                    351: 60, 302, 61, 126, 62, 303, 63, 304,
                    352: 64, 305, 65, 306, 66, 62, 67, 307,
                    353: 68, 60, 69, 43, 70, 45, 71, 42,
                    354: 72, 47, 73, 37, 180, 59, 24576, -1000,
                    355: 159, 41, 24576, -1000, 8290, -1000, 8286, -1000,
                    356: 8287, -1000, 8288, -1000, 8221, -1000, 8224, -1000,
                    357: 8222, -1000, 8225, -1000 
                    358: };
                    359: /* (-lgl
                    360:  *     COHERENT Version 3.0
                    361:  *     Copyright (c) 1982, 1990 by Mark Williams Company.
                    362:  *     All rights reserved. May not be copied without permission.
                    363:  -lgl) */
                    364: #include "action.h"
                    365: #define YYNOCHAR (-1000)
                    366: #define        yyerrok yyerrflag=0
                    367: #define        yyclearin       yylval=YYNOCHAR
                    368: int yystack[YYMAXDEPTH];
                    369: YYSTYPE yyvstack[YYMAXDEPTH], *yyv;
                    370: int yychar;
                    371: 
                    372: #ifdef YYDEBUG
                    373: int yydebug = 1;       /* No sir, not in the BSS */
                    374: #include <stdio.h>
                    375: #endif
                    376: 
                    377: short yyerrflag;
                    378: int *yys;
                    379: 
                    380: yyparse()
                    381: {
                    382:        register YYSTYPE *yypvt;
                    383:        int act;
                    384:        register unsigned *ip, yystate;
                    385:        int pno;
                    386:        yystate = 0;
                    387:        yychar = YYNOCHAR;
                    388:        yyv = &yyvstack[-1];
                    389:        yys = &yystack[-1];
                    390: 
                    391: stack:
                    392:        if( ++yys >= &yystack[YYMAXDEPTH] ) {
                    393:                write(2, "Stack overflow\n", 15);
                    394:                exit(1);
                    395:        }
                    396:        *yys = yystate;
                    397:        *++yyv = yyval;
                    398: #ifdef YYDEBUG
                    399:        if( yydebug )
                    400:                fprintf(stdout, "Stack state %d, char %d\n", yystate, yychar);
                    401: #endif
                    402: 
                    403: read:
                    404:        ip = &yyact[yypa[yystate]];
                    405:        if( ip[1] != YYNOCHAR ) {
                    406:                if( yychar == YYNOCHAR ) {
                    407:                        yychar = yylex();
                    408: #ifdef YYDEBUG
                    409:                        if( yydebug )
                    410:                                fprintf(stdout, "lex read char %d, val %d\n", yychar, yylval);
                    411: #endif
                    412:                }
                    413:                while (ip[1]!=YYNOCHAR) {
                    414:                        if (ip[1]==yychar)
                    415:                                break;
                    416:                        ip += 2;
                    417:                }
                    418:        }
                    419:        act = ip[0];
                    420:        switch( act>>YYACTSH ) {
                    421:        case YYSHIFTACT:
                    422:                if( ip[1]==YYNOCHAR )
                    423:                        goto YYerract;
                    424:                if( yychar != -1 )
                    425:                        yychar = YYNOCHAR; /* dont throw away EOF */
                    426:                yystate = act&YYAMASK;
                    427:                yyval = yylval;
                    428: #ifdef YYDEBUG
                    429:                if( yydebug )
                    430:                        fprintf(stdout, "shift %d\n", yystate);
                    431: #endif
                    432:                if( yyerrflag )
                    433:                        --yyerrflag;
                    434:                goto stack;
                    435: 
                    436:        case YYACCEPTACT:
                    437: #ifdef YYDEBUG
                    438:                if( yydebug )
                    439:                        fprintf(stdout, "accept\n");
                    440: #endif
                    441:                return(0);
                    442: 
                    443:        case YYERRACT:
                    444:        YYerract:
                    445:                switch (yyerrflag) {
                    446:                case 0:
                    447:                        yyerror("Syntax error");
                    448: 
                    449:                case 1:
                    450:                case 2:
                    451: 
                    452:                        yyerrflag = 3;
                    453:                        while( yys >= & yystack[0] ) {
                    454:                                ip = &yyact[yypa[*yys]];
                    455:                                while( ip[1]!=YYNOCHAR )
                    456:                                        ip += 2;
                    457:                                if( (*ip&~YYAMASK) == (YYSHIFTACT<<YYACTSH) ) {
                    458:                                        yystate = *ip&YYAMASK;
                    459:                                        goto stack;
                    460:                                }
                    461: #ifdef YYDEBUG
                    462:                                if( yydebug )
                    463:                                        fprintf(stderr, "error recovery leaves state %d, uncovers %d\n", *yys, yys[-1]);
                    464: #endif
                    465:                                yys--;
                    466:                                yyv--;
                    467:                        }
                    468: #ifdef YYDEBUG
                    469:                        if( yydebug )
                    470:                                fprintf(stderr, "no shift on error; abort\n");
                    471: #endif
                    472:                        return(1);
                    473: 
                    474:                case 3:
                    475: #ifdef YYDEBUG
                    476:                        if( yydebug )
                    477:                                fprintf(stderr, "Error recovery clobbers char %o\n", yychar);
                    478: #endif
                    479:                        if( yychar==YYEOFVAL )
                    480:                                return(1);
                    481:                        yychar = YYNOCHAR;
                    482:                        goto read;
                    483:                }
                    484: 
                    485:        case YYREDACT:
                    486:                pno = act&YYAMASK;
                    487: #ifdef YYDEBUG
                    488:                if( yydebug )
                    489:                        fprintf(stdout, "reduce %d\n", pno);
                    490: #endif
                    491:                yypvt = yyv;
                    492:                yyv -= yypn[pno];
                    493:                yys -= yypn[pno];
                    494:                yyval = yyv[1];
                    495:                switch(pno) {
                    496: 
                    497: case 1: {
                    498: 
                    499: #line 72 "awk.y"
                    500: 
                    501:                codep = yypvt[0].u_node;
                    502:        }break;
                    503: 
                    504: case 2: {
                    505: 
                    506: #line 78 "awk.y"
                    507: 
                    508:                yyval.u_node = node(ALIST, yypvt[-1].u_node, yypvt[0].u_node);
                    509:        }break;
                    510: 
                    511: case 4: {
                    512: 
                    513: #line 85 "awk.y"
                    514: 
                    515:                yyval.u_node = node(AROOT, NULL, yypvt[-1].u_node);
                    516:        }break;
                    517: 
                    518: case 5: {
                    519: 
                    520: #line 88 "awk.y"
                    521: 
                    522:                yyval.u_node = node(AROOT, yypvt[-1].u_node, NULL);
                    523:        }break;
                    524: 
                    525: case 6: {
                    526: 
                    527: #line 91 "awk.y"
                    528: 
                    529:                yyval.u_node = node(AROOT, yypvt[-2].u_node, yypvt[-1].u_node);
                    530:        }break;
                    531: 
                    532: case 7: {
                    533: 
                    534: #line 97 "awk.y"
                    535: 
                    536:                yyval.u_node = node(ABEGIN);
                    537:        }break;
                    538: 
                    539: case 8: {
                    540: 
                    541: #line 100 "awk.y"
                    542: 
                    543:                yyval.u_node = node(AEND);
                    544:        }break;
                    545: 
                    546: case 10: {
                    547: 
                    548: #line 104 "awk.y"
                    549: 
                    550:                yyval.u_node = node(ARANGE, yypvt[-2].u_node, yypvt[0].u_node);
                    551:        }break;
                    552: 
                    553: case 11: {
                    554: 
                    555: #line 110 "awk.y"
                    556:  lexre=1; }break;
                    557: 
                    558: case 12: {
                    559: 
                    560: #line 110 "awk.y"
                    561: 
                    562:                lexre = 0;
                    563:                yyval.u_node = yypvt[-1].u_node;
                    564:        }break;
                    565: 
                    566: case 13: {
                    567: 
                    568: #line 114 "awk.y"
                    569: 
                    570:                yyerrok;
                    571:                yyerror("Badly formed regular expression");
                    572:        }break;
                    573: 
                    574: case 14: {
                    575: 
                    576: #line 117 "awk.y"
                    577: 
                    578:                yyval.u_node = yypvt[0].u_node;
                    579:        }break;
                    580: 
                    581: case 15: {
                    582: 
                    583: #line 123 "awk.y"
                    584: 
                    585:                register NODE *np;
                    586: 
                    587:                for (np = yypvt[-1].u_node; np->n_O3!=NULL; np = np->n_O3)
                    588:                        ;
                    589:                np->n_O3 = yypvt[0].u_node;
                    590:                yyval.u_node = yypvt[-1].u_node;
                    591:        }break;
                    592: 
                    593: case 16: {
                    594: 
                    595: #line 131 "awk.y"
                    596: 
                    597:                yyval.u_node = yypvt[-1].u_node;
                    598:        }break;
                    599: 
                    600: case 17: {
                    601: 
                    602: #line 134 "awk.y"
                    603: 
                    604:                yyval.u_node = node(AROR, yypvt[-2].u_node, yypvt[0].u_node, NULL);
                    605:        }break;
                    606: 
                    607: case 18: {
                    608: 
                    609: #line 137 "awk.y"
                    610: 
                    611:                yyval.u_node = node(yypvt[0].u_char, yypvt[-1].u_node, NULL, NULL);
                    612:        }break;
                    613: 
                    614: case 19: {
                    615: 
                    616: #line 140 "awk.y"
                    617: 
                    618:                yyval.u_node = node(yflag?ARDCLASS:ARCLASS, NULL, NULL, NULL);
                    619:                yyval.u_node->n_o1.n_charp = yypvt[0].u_charp;
                    620:        }break;
                    621: 
                    622: case 20: {
                    623: 
                    624: #line 144 "awk.y"
                    625: 
                    626:                yyval.u_node = node(ARANY, NULL, NULL, NULL);
                    627:        }break;
                    628: 
                    629: case 21: {
                    630: 
                    631: #line 147 "awk.y"
                    632: 
                    633:                yyval.u_node = node(ARBOL, NULL, NULL, NULL);
                    634:        }break;
                    635: 
                    636: case 22: {
                    637: 
                    638: #line 150 "awk.y"
                    639: 
                    640:                yyval.u_node = node(AREOL, NULL, NULL, NULL);
                    641:        }break;
                    642: 
                    643: case 23: {
                    644: 
                    645: #line 153 "awk.y"
                    646: 
                    647:                yyval.u_node = cnode(yflag?ARDCHAR:ARCHAR, yypvt[0].u_char);
                    648:        }break;
                    649: 
                    650: case 24: {
                    651: 
                    652: #line 159 "awk.y"
                    653: 
                    654:                yyval.u_char = ARCLOS;
                    655:        }break;
                    656: 
                    657: case 25: {
                    658: 
                    659: #line 162 "awk.y"
                    660: 
                    661:                yyval.u_char = ARZOCL;
                    662:        }break;
                    663: 
                    664: case 26: {
                    665: 
                    666: #line 165 "awk.y"
                    667: 
                    668:                yyval.u_char = ARNECL;
                    669:        }break;
                    670: 
                    671: case 27: {
                    672: 
                    673: #line 171 "awk.y"
                    674: 
                    675:                yyval.u_node = yypvt[-1].u_node;
                    676:        }break;
                    677: 
                    678: case 28: {
                    679: 
                    680: #line 177 "awk.y"
                    681: 
                    682:                yyval.u_node = node(AIF, yypvt[-2].u_node, yypvt[0].u_node, NULL);
                    683:        }break;
                    684: 
                    685: case 29: {
                    686: 
                    687: #line 180 "awk.y"
                    688: nlskip = 1;}break;
                    689: 
                    690: case 30: {
                    691: 
                    692: #line 180 "awk.y"
                    693: 
                    694:                yyval.u_node = node(AIF, yypvt[-5].u_node, yypvt[-3].u_node, yypvt[0].u_node);
                    695:        }break;
                    696: 
                    697: case 31: {
                    698: 
                    699: #line 183 "awk.y"
                    700: 
                    701:                yyval.u_node = node(AWHILE, yypvt[-2].u_node, yypvt[0].u_node);
                    702:        }break;
                    703: 
                    704: case 32: {
                    705: 
                    706: #line 186 "awk.y"
                    707: 
                    708:                yyval.u_node = node(AFORIN, yypvt[-4].u_node, yypvt[-2].u_node, yypvt[0].u_node);
                    709:        }break;
                    710: 
                    711: case 33: {
                    712: 
                    713: #line 189 "awk.y"
                    714: 
                    715:                yyval.u_node = node(AFOR, yypvt[-6].u_node, yypvt[-4].u_node, yypvt[-2].u_node, yypvt[0].u_node);
                    716:        }break;
                    717: 
                    718: case 34: {
                    719: 
                    720: #line 192 "awk.y"
                    721: 
                    722:                yyval.u_node = node(ABREAK);
                    723:        }break;
                    724: 
                    725: case 35: {
                    726: 
                    727: #line 195 "awk.y"
                    728: 
                    729:                yyval.u_node = node(ACONTIN);
                    730:        }break;
                    731: 
                    732: case 38: {
                    733: 
                    734: #line 200 "awk.y"
                    735: outflag++;}break;
                    736: 
                    737: case 39: {
                    738: 
                    739: #line 200 "awk.y"
                    740: 
                    741:                yyval.u_node = node(APRINT, yypvt[-1].u_node, yypvt[0].u_node);
                    742:        }break;
                    743: 
                    744: case 40: {
                    745: 
                    746: #line 203 "awk.y"
                    747: outflag++;}break;
                    748: 
                    749: case 41: {
                    750: 
                    751: #line 203 "awk.y"
                    752: 
                    753:                yyval.u_node = node(APRINT, &xfield0, yypvt[0].u_node);
                    754:        }break;
                    755: 
                    756: case 42: {
                    757: 
                    758: #line 206 "awk.y"
                    759: outflag++;}break;
                    760: 
                    761: case 43: {
                    762: 
                    763: #line 206 "awk.y"
                    764: 
                    765:                yyval.u_node = node(APRINTF, yypvt[-1].u_node, yypvt[0].u_node);
                    766:        }break;
                    767: 
                    768: case 44: {
                    769: 
                    770: #line 209 "awk.y"
                    771: 
                    772:                yyval.u_node = node(ANEXT);
                    773:        }break;
                    774: 
                    775: case 45: {
                    776: 
                    777: #line 212 "awk.y"
                    778: 
                    779:                yyval.u_node = node(AEXIT);
                    780:        }break;
                    781: 
                    782: case 46: {
                    783: 
                    784: #line 215 "awk.y"
                    785: 
                    786:                yyval.u_node = NULL;
                    787:        }break;
                    788: 
                    789: case 48: {
                    790: 
                    791: #line 222 "awk.y"
                    792: 
                    793:                if (yypvt[-1].u_node!=NULL && yypvt[0].u_node!=NULL)
                    794:                        yyval.u_node = node(ALIST, yypvt[-1].u_node, yypvt[0].u_node);
                    795:                else if (yypvt[-1].u_node != NULL)
                    796:                        yyval.u_node = yypvt[-1].u_node;
                    797:                else
                    798:                        yyval.u_node = yypvt[0].u_node;
                    799:        }break;
                    800: 
                    801: case 49: {
                    802: 
                    803: #line 233 "awk.y"
                    804: 
                    805:                nlskip = 1;
                    806:        }break;
                    807: 
                    808: case 50: {
                    809: 
                    810: #line 239 "awk.y"
                    811: 
                    812:                yyval.u_node = node(AASGN, yypvt[-2].u_node, yypvt[0].u_node);
                    813:        }break;
                    814: 
                    815: case 51: {
                    816: 
                    817: #line 242 "awk.y"
                    818: 
                    819:                yyval.u_node = node(AASGN, yypvt[-2].u_node, node(yypvt[-1].u_char, yypvt[-2].u_node, yypvt[0].u_node));
                    820:        }break;
                    821: 
                    822: case 52: {
                    823: 
                    824: #line 245 "awk.y"
                    825: 
                    826:                yyval.u_node = node(AASGN, yypvt[0].u_node, node(AADD, yypvt[0].u_node, &xone));
                    827:        }break;
                    828: 
                    829: case 53: {
                    830: 
                    831: #line 248 "awk.y"
                    832: 
                    833:                yyval.u_node = node(AINCA, yypvt[-1].u_node);
                    834:        }break;
                    835: 
                    836: case 54: {
                    837: 
                    838: #line 251 "awk.y"
                    839: 
                    840:                yyval.u_node = node(AASGN, yypvt[0].u_node, node(ASUB, yypvt[0].u_node, &xone));
                    841:        }break;
                    842: 
                    843: case 55: {
                    844: 
                    845: #line 254 "awk.y"
                    846: 
                    847:                yyval.u_node = node(ADECA, yypvt[-1].u_node);
                    848:        }break;
                    849: 
                    850: case 56: {
                    851: 
                    852: #line 260 "awk.y"
                    853: 
                    854:                yyval.u_char = AADD;
                    855:        }break;
                    856: 
                    857: case 57: {
                    858: 
                    859: #line 263 "awk.y"
                    860: 
                    861:                yyval.u_char = ASUB;
                    862:        }break;
                    863: 
                    864: case 58: {
                    865: 
                    866: #line 266 "awk.y"
                    867: 
                    868:                yyval.u_char = AMUL;
                    869:        }break;
                    870: 
                    871: case 59: {
                    872: 
                    873: #line 269 "awk.y"
                    874: 
                    875:                yyval.u_char = ADIV;
                    876:        }break;
                    877: 
                    878: case 60: {
                    879: 
                    880: #line 272 "awk.y"
                    881: 
                    882:                yyval.u_char = AMOD;
                    883:        }break;
                    884: 
                    885: case 61: {
                    886: 
                    887: #line 278 "awk.y"
                    888: 
                    889:                yyval.u_node = node(AFIELD, yypvt[-1].u_node);
                    890:        }break;
                    891: 
                    892: case 62: {
                    893: 
                    894: #line 281 "awk.y"
                    895: 
                    896:                yyval.u_node = node(AFIELD, yypvt[0].u_node);
                    897:        }break;
                    898: 
                    899: case 63: {
                    900: 
                    901: #line 284 "awk.y"
                    902: 
                    903:                yyval.u_node = node(AARRAY, yypvt[-3].u_node, yypvt[-1].u_node);
                    904:        }break;
                    905: 
                    906: case 70: {
                    907: 
                    908: #line 302 "awk.y"
                    909: 
                    910:                yyval.u_node = node(ACONC, yypvt[-1].u_node, yypvt[0].u_node);
                    911:        }break;
                    912: 
                    913: case 71: {
                    914: 
                    915: #line 308 "awk.y"
                    916: 
                    917:                yyval.u_node = yypvt[-1].u_node;
                    918:        }break;
                    919: 
                    920: case 72: {
                    921: 
                    922: #line 311 "awk.y"
                    923: 
                    924:                yyval.u_node = node(AANDAND, yypvt[-2].u_node, yypvt[0].u_node);
                    925:        }break;
                    926: 
                    927: case 73: {
                    928: 
                    929: #line 314 "awk.y"
                    930: 
                    931:                yyval.u_node = node(AOROR, yypvt[-2].u_node, yypvt[0].u_node);
                    932:        }break;
                    933: 
                    934: case 74: {
                    935: 
                    936: #line 317 "awk.y"
                    937: 
                    938:                yyval.u_node = node(ANOT, yypvt[0].u_node);
                    939:        }break;
                    940: 
                    941: case 75: {
                    942: 
                    943: #line 320 "awk.y"
                    944: 
                    945:                yyval.u_node = node(ANEG, yypvt[0].u_node);
                    946:        }break;
                    947: 
                    948: case 78: {
                    949: 
                    950: #line 325 "awk.y"
                    951: 
                    952:                yyval.u_node = node(AADD, yypvt[-2].u_node, yypvt[0].u_node);
                    953:        }break;
                    954: 
                    955: case 79: {
                    956: 
                    957: #line 328 "awk.y"
                    958: 
                    959:                yyval.u_node = node(ASUB, yypvt[-2].u_node, yypvt[0].u_node);
                    960:        }break;
                    961: 
                    962: case 80: {
                    963: 
                    964: #line 331 "awk.y"
                    965: 
                    966:                yyval.u_node = node(AMUL, yypvt[-2].u_node, yypvt[0].u_node);
                    967:        }break;
                    968: 
                    969: case 81: {
                    970: 
                    971: #line 334 "awk.y"
                    972: 
                    973:                yyval.u_node = node(ADIV, yypvt[-2].u_node, yypvt[0].u_node);
                    974:        }break;
                    975: 
                    976: case 82: {
                    977: 
                    978: #line 337 "awk.y"
                    979: 
                    980:                yyval.u_node = node(AMOD, yypvt[-2].u_node, yypvt[0].u_node);
                    981:        }break;
                    982: 
                    983: case 83: {
                    984: 
                    985: #line 340 "awk.y"
                    986: 
                    987:                yyval.u_node = node(AGT, yypvt[-2].u_node, yypvt[0].u_node);
                    988:        }break;
                    989: 
                    990: case 84: {
                    991: 
                    992: #line 343 "awk.y"
                    993: 
                    994:                yyval.u_node = node(ALT, yypvt[-2].u_node, yypvt[0].u_node);
                    995:        }break;
                    996: 
                    997: case 85: {
                    998: 
                    999: #line 346 "awk.y"
                   1000: 
                   1001:                yyval.u_node = node(AEQ, yypvt[-2].u_node, yypvt[0].u_node);
                   1002:        }break;
                   1003: 
                   1004: case 86: {
                   1005: 
                   1006: #line 349 "awk.y"
                   1007: 
                   1008:                yyval.u_node = node(ANE, yypvt[-2].u_node, yypvt[0].u_node);
                   1009:        }break;
                   1010: 
                   1011: case 87: {
                   1012: 
                   1013: #line 352 "awk.y"
                   1014: 
                   1015:                yyval.u_node = node(AGE, yypvt[-2].u_node,yypvt[0].u_node);
                   1016:        }break;
                   1017: 
                   1018: case 88: {
                   1019: 
                   1020: #line 355 "awk.y"
                   1021: 
                   1022:                yyval.u_node = node(ALE, yypvt[-2].u_node, yypvt[0].u_node);
                   1023:        }break;
                   1024: 
                   1025: case 89: {
                   1026: 
                   1027: #line 358 "awk.y"
                   1028: 
                   1029:                yyval.u_node = node(AREMAT, yypvt[-2].u_node, yypvt[0].u_node);
                   1030:        }break;
                   1031: 
                   1032: case 90: {
                   1033: 
                   1034: #line 361 "awk.y"
                   1035: 
                   1036:                yyval.u_node = node(ARENMAT, yypvt[-2].u_node, yypvt[0].u_node);
                   1037:        }break;
                   1038: 
                   1039: case 91: {
                   1040: 
                   1041: #line 364 "awk.y"
                   1042: 
                   1043:                if (brlevel)
                   1044:                        awkerr("Regular expression illegal in action");
                   1045:                yyval.u_node = node(ARE, yypvt[0].u_node);
                   1046:        }break;
                   1047: 
                   1048: case 92: {
                   1049: 
                   1050: #line 369 "awk.y"
                   1051: 
                   1052:                yyval.u_node = node(AFUNC, yypvt[-3].u_node, yypvt[-1].u_node);
                   1053:        }break;
                   1054: 
                   1055: case 93: {
                   1056: 
                   1057: #line 372 "awk.y"
                   1058: 
                   1059:                yyval.u_node = node(AFUNC, yypvt[0].u_node, NULL);
                   1060:        }break;
                   1061: 
                   1062: case 94: {
                   1063: 
                   1064: #line 378 "awk.y"
                   1065: 
                   1066:                yyval.u_node = node(AFAPP, yypvt[-1].u_node);
                   1067:        }break;
                   1068: 
                   1069: case 95: {
                   1070: 
                   1071: #line 381 "awk.y"
                   1072: 
                   1073:                yyval.u_node = node(AFOUT, yypvt[-1].u_node);
                   1074:        }break;
                   1075: 
                   1076: case 96: {
                   1077: 
                   1078: #line 384 "awk.y"
                   1079: 
                   1080:                yyval.u_node = node(AFPIPE, yypvt[-1].u_node);
                   1081:        }break;
                   1082: 
                   1083: case 97: {
                   1084: 
                   1085: #line 387 "awk.y"
                   1086: 
                   1087:                yyval.u_node = NULL;
                   1088:        }break;
                   1089: 
                   1090: case 98: {
                   1091: 
                   1092: #line 392 "awk.y"
                   1093: 
                   1094:                yyval.u_node = yypvt[-1].u_node;
                   1095:         }break;
                   1096: 
                   1097: case 99: {
                   1098: 
                   1099: #line 395 "awk.y"
                   1100: 
                   1101:                yyval.u_node = yypvt[0].u_node;
                   1102:         }break;
                   1103: 
                   1104: case 100: {
                   1105: 
                   1106: #line 401 "awk.y"
                   1107: 
                   1108:                yyval.u_node = yypvt[0].u_node;
                   1109:        }break;
                   1110: 
                   1111: case 101: {
                   1112: 
                   1113: #line 404 "awk.y"
                   1114: 
                   1115:                yyval.u_node = node(ALIST, yypvt[-2].u_node, yypvt[0].u_node);
                   1116:        }break;
                   1117: 
                   1118:                }
                   1119:                ip = &yygo[ yypgo[yypdnt[pno]] ];
                   1120:                while( *ip!=*yys && *ip!=YYNOCHAR )
                   1121:                        ip += 2;
                   1122:                yystate = ip[1];
                   1123:                goto stack;
                   1124:        }
                   1125: }
                   1126: 
                   1127: 
                   1128: 
                   1129: 

unix.superglobalmegacorp.com

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