~vcs-imports/gawk/master

« back to all changes in this revision

Viewing changes to awkgram.c

  • Committer: Arnold D. Robbins
  • Date: 2012-02-28 18:57:46 UTC
  • Revision ID: git-v1:2b8a8424212839cd30490e4245c0c5119904eca3
Make MPRF tests pass too.

Show diffs side-by-side

added added

removed removed

Lines of Context:
2043
2043
    {
2044
2044
        case 3:
2045
2045
 
2046
 
/* Line 1821 of yacc.c  */
 
2046
/* Line 1806 of yacc.c  */
2047
2047
#line 199 "awkgram.y"
2048
2048
    {
2049
2049
                rule = 0;
2053
2053
 
2054
2054
  case 5:
2055
2055
 
2056
 
/* Line 1821 of yacc.c  */
 
2056
/* Line 1806 of yacc.c  */
2057
2057
#line 205 "awkgram.y"
2058
2058
    {
2059
2059
                next_sourcefile();
2062
2062
 
2063
2063
  case 6:
2064
2064
 
2065
 
/* Line 1821 of yacc.c  */
 
2065
/* Line 1806 of yacc.c  */
2066
2066
#line 209 "awkgram.y"
2067
2067
    {
2068
2068
                rule = 0;
2076
2076
 
2077
2077
  case 7:
2078
2078
 
2079
 
/* Line 1821 of yacc.c  */
 
2079
/* Line 1806 of yacc.c  */
2080
2080
#line 221 "awkgram.y"
2081
2081
    {
2082
2082
                (void) append_rule((yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]));
2085
2085
 
2086
2086
  case 8:
2087
2087
 
2088
 
/* Line 1821 of yacc.c  */
 
2088
/* Line 1806 of yacc.c  */
2089
2089
#line 225 "awkgram.y"
2090
2090
    {
2091
2091
                if (rule != Rule) {
2101
2101
 
2102
2102
  case 9:
2103
2103
 
2104
 
/* Line 1821 of yacc.c  */
 
2104
/* Line 1806 of yacc.c  */
2105
2105
#line 236 "awkgram.y"
2106
2106
    {
2107
2107
                in_function = NULL;
2112
2112
 
2113
2113
  case 10:
2114
2114
 
2115
 
/* Line 1821 of yacc.c  */
 
2115
/* Line 1806 of yacc.c  */
2116
2116
#line 242 "awkgram.y"
2117
2117
    {
2118
2118
                want_source = FALSE;
2122
2122
 
2123
2123
  case 11:
2124
2124
 
2125
 
/* Line 1821 of yacc.c  */
 
2125
/* Line 1806 of yacc.c  */
2126
2126
#line 250 "awkgram.y"
2127
2127
    {
2128
2128
                if (include_source((yyvsp[(1) - (1)])) < 0)
2135
2135
 
2136
2136
  case 12:
2137
2137
 
2138
 
/* Line 1821 of yacc.c  */
 
2138
/* Line 1806 of yacc.c  */
2139
2139
#line 258 "awkgram.y"
2140
2140
    { (yyval) = NULL; }
2141
2141
    break;
2142
2142
 
2143
2143
  case 13:
2144
2144
 
2145
 
/* Line 1821 of yacc.c  */
 
2145
/* Line 1806 of yacc.c  */
2146
2146
#line 260 "awkgram.y"
2147
2147
    { (yyval) = NULL; }
2148
2148
    break;
2149
2149
 
2150
2150
  case 14:
2151
2151
 
2152
 
/* Line 1821 of yacc.c  */
 
2152
/* Line 1806 of yacc.c  */
2153
2153
#line 265 "awkgram.y"
2154
2154
    {   (yyval) = NULL; rule = Rule; }
2155
2155
    break;
2156
2156
 
2157
2157
  case 15:
2158
2158
 
2159
 
/* Line 1821 of yacc.c  */
 
2159
/* Line 1806 of yacc.c  */
2160
2160
#line 267 "awkgram.y"
2161
2161
    {   (yyval) = (yyvsp[(1) - (1)]); rule = Rule; }
2162
2162
    break;
2163
2163
 
2164
2164
  case 16:
2165
2165
 
2166
 
/* Line 1821 of yacc.c  */
 
2166
/* Line 1806 of yacc.c  */
2167
2167
#line 269 "awkgram.y"
2168
2168
    {
2169
2169
                INSTRUCTION *tp;
2194
2194
 
2195
2195
  case 17:
2196
2196
 
2197
 
/* Line 1821 of yacc.c  */
 
2197
/* Line 1806 of yacc.c  */
2198
2198
#line 295 "awkgram.y"
2199
2199
    {
2200
2200
                static int begin_seen = 0;
2210
2210
 
2211
2211
  case 18:
2212
2212
 
2213
 
/* Line 1821 of yacc.c  */
 
2213
/* Line 1806 of yacc.c  */
2214
2214
#line 306 "awkgram.y"
2215
2215
    {
2216
2216
                static int end_seen = 0;
2226
2226
 
2227
2227
  case 19:
2228
2228
 
2229
 
/* Line 1821 of yacc.c  */
 
2229
/* Line 1806 of yacc.c  */
2230
2230
#line 317 "awkgram.y"
2231
2231
    {
2232
2232
                (yyvsp[(1) - (1)])->in_rule = rule = BEGINFILE;
2237
2237
 
2238
2238
  case 20:
2239
2239
 
2240
 
/* Line 1821 of yacc.c  */
 
2240
/* Line 1806 of yacc.c  */
2241
2241
#line 323 "awkgram.y"
2242
2242
    {
2243
2243
                (yyvsp[(1) - (1)])->in_rule = rule = ENDFILE;
2248
2248
 
2249
2249
  case 21:
2250
2250
 
2251
 
/* Line 1821 of yacc.c  */
 
2251
/* Line 1806 of yacc.c  */
2252
2252
#line 332 "awkgram.y"
2253
2253
    {
2254
2254
                if ((yyvsp[(2) - (5)]) == NULL)
2260
2260
 
2261
2261
  case 22:
2262
2262
 
2263
 
/* Line 1821 of yacc.c  */
 
2263
/* Line 1806 of yacc.c  */
2264
2264
#line 342 "awkgram.y"
2265
2265
    { (yyval) = (yyvsp[(1) - (1)]); }
2266
2266
    break;
2267
2267
 
2268
2268
  case 23:
2269
2269
 
2270
 
/* Line 1821 of yacc.c  */
 
2270
/* Line 1806 of yacc.c  */
2271
2271
#line 344 "awkgram.y"
2272
2272
    { (yyval) = (yyvsp[(1) - (1)]); }
2273
2273
    break;
2274
2274
 
2275
2275
  case 24:
2276
2276
 
2277
 
/* Line 1821 of yacc.c  */
 
2277
/* Line 1806 of yacc.c  */
2278
2278
#line 346 "awkgram.y"
2279
2279
    {
2280
2280
                yyerror(_("`%s' is a built-in function, it cannot be redefined"),
2285
2285
 
2286
2286
  case 25:
2287
2287
 
2288
 
/* Line 1821 of yacc.c  */
 
2288
/* Line 1806 of yacc.c  */
2289
2289
#line 352 "awkgram.y"
2290
2290
    { (yyval) = (yyvsp[(2) - (2)]); }
2291
2291
    break;
2292
2292
 
2293
2293
  case 28:
2294
2294
 
2295
 
/* Line 1821 of yacc.c  */
 
2295
/* Line 1806 of yacc.c  */
2296
2296
#line 362 "awkgram.y"
2297
2297
    {
2298
2298
                (yyvsp[(1) - (6)])->source_file = source;
2308
2308
 
2309
2309
  case 29:
2310
2310
 
2311
 
/* Line 1821 of yacc.c  */
 
2311
/* Line 1806 of yacc.c  */
2312
2312
#line 380 "awkgram.y"
2313
2313
    { ++want_regexp; }
2314
2314
    break;
2315
2315
 
2316
2316
  case 30:
2317
2317
 
2318
 
/* Line 1821 of yacc.c  */
 
2318
/* Line 1806 of yacc.c  */
2319
2319
#line 382 "awkgram.y"
2320
2320
    {
2321
2321
                  NODE *n, *exp;
2349
2349
 
2350
2350
  case 31:
2351
2351
 
2352
 
/* Line 1821 of yacc.c  */
 
2352
/* Line 1806 of yacc.c  */
2353
2353
#line 414 "awkgram.y"
2354
2354
    { bcfree((yyvsp[(1) - (1)])); }
2355
2355
    break;
2356
2356
 
2357
2357
  case 33:
2358
2358
 
2359
 
/* Line 1821 of yacc.c  */
 
2359
/* Line 1806 of yacc.c  */
2360
2360
#line 420 "awkgram.y"
2361
2361
    {   (yyval) = NULL; }
2362
2362
    break;
2363
2363
 
2364
2364
  case 34:
2365
2365
 
2366
 
/* Line 1821 of yacc.c  */
 
2366
/* Line 1806 of yacc.c  */
2367
2367
#line 422 "awkgram.y"
2368
2368
    {
2369
2369
                if ((yyvsp[(2) - (2)]) == NULL)
2381
2381
 
2382
2382
  case 35:
2383
2383
 
2384
 
/* Line 1821 of yacc.c  */
 
2384
/* Line 1806 of yacc.c  */
2385
2385
#line 435 "awkgram.y"
2386
2386
    {   (yyval) = NULL; }
2387
2387
    break;
2388
2388
 
2389
2389
  case 38:
2390
2390
 
2391
 
/* Line 1821 of yacc.c  */
 
2391
/* Line 1806 of yacc.c  */
2392
2392
#line 445 "awkgram.y"
2393
2393
    { (yyval) = NULL; }
2394
2394
    break;
2395
2395
 
2396
2396
  case 39:
2397
2397
 
2398
 
/* Line 1821 of yacc.c  */
 
2398
/* Line 1806 of yacc.c  */
2399
2399
#line 447 "awkgram.y"
2400
2400
    { (yyval) = (yyvsp[(2) - (3)]); }
2401
2401
    break;
2402
2402
 
2403
2403
  case 40:
2404
2404
 
2405
 
/* Line 1821 of yacc.c  */
 
2405
/* Line 1806 of yacc.c  */
2406
2406
#line 449 "awkgram.y"
2407
2407
    {
2408
2408
                if (do_pretty_print)
2414
2414
 
2415
2415
  case 41:
2416
2416
 
2417
 
/* Line 1821 of yacc.c  */
 
2417
/* Line 1806 of yacc.c  */
2418
2418
#line 456 "awkgram.y"
2419
2419
    {
2420
2420
                INSTRUCTION *dflt, *curr = NULL, *cexp, *cstmt;
2509
2509
 
2510
2510
  case 42:
2511
2511
 
2512
 
/* Line 1821 of yacc.c  */
 
2512
/* Line 1806 of yacc.c  */
2513
2513
#line 546 "awkgram.y"
2514
2514
    { 
2515
2515
                /*
2556
2556
 
2557
2557
  case 43:
2558
2558
 
2559
 
/* Line 1821 of yacc.c  */
 
2559
/* Line 1806 of yacc.c  */
2560
2560
#line 588 "awkgram.y"
2561
2561
    {
2562
2562
                /*
2603
2603
 
2604
2604
  case 44:
2605
2605
 
2606
 
/* Line 1821 of yacc.c  */
 
2606
/* Line 1806 of yacc.c  */
2607
2607
#line 630 "awkgram.y"
2608
2608
    {
2609
2609
                INSTRUCTION *ip;
2721
2721
 
2722
2722
  case 45:
2723
2723
 
2724
 
/* Line 1821 of yacc.c  */
 
2724
/* Line 1806 of yacc.c  */
2725
2725
#line 743 "awkgram.y"
2726
2726
    {
2727
2727
                (yyval) = mk_for_loop((yyvsp[(1) - (12)]), (yyvsp[(3) - (12)]), (yyvsp[(6) - (12)]), (yyvsp[(9) - (12)]), (yyvsp[(12) - (12)]));
2733
2733
 
2734
2734
  case 46:
2735
2735
 
2736
 
/* Line 1821 of yacc.c  */
 
2736
/* Line 1806 of yacc.c  */
2737
2737
#line 750 "awkgram.y"
2738
2738
    {
2739
2739
                (yyval) = mk_for_loop((yyvsp[(1) - (11)]), (yyvsp[(3) - (11)]), (INSTRUCTION *) NULL, (yyvsp[(8) - (11)]), (yyvsp[(11) - (11)]));
2745
2745
 
2746
2746
  case 47:
2747
2747
 
2748
 
/* Line 1821 of yacc.c  */
 
2748
/* Line 1806 of yacc.c  */
2749
2749
#line 757 "awkgram.y"
2750
2750
    {
2751
2751
                if (do_pretty_print)
2757
2757
 
2758
2758
  case 48:
2759
2759
 
2760
 
/* Line 1821 of yacc.c  */
 
2760
/* Line 1806 of yacc.c  */
2761
2761
#line 767 "awkgram.y"
2762
2762
    { 
2763
2763
                if (! break_allowed)
2771
2771
 
2772
2772
  case 49:
2773
2773
 
2774
 
/* Line 1821 of yacc.c  */
 
2774
/* Line 1806 of yacc.c  */
2775
2775
#line 776 "awkgram.y"
2776
2776
    {
2777
2777
                if (! continue_allowed)
2785
2785
 
2786
2786
  case 50:
2787
2787
 
2788
 
/* Line 1821 of yacc.c  */
 
2788
/* Line 1806 of yacc.c  */
2789
2789
#line 785 "awkgram.y"
2790
2790
    {
2791
2791
                /* if inside function (rule = 0), resolve context at run-time */
2799
2799
 
2800
2800
  case 51:
2801
2801
 
2802
 
/* Line 1821 of yacc.c  */
 
2802
/* Line 1806 of yacc.c  */
2803
2803
#line 794 "awkgram.y"
2804
2804
    {
2805
2805
                if (do_traditional)
2819
2819
 
2820
2820
  case 52:
2821
2821
 
2822
 
/* Line 1821 of yacc.c  */
 
2822
/* Line 1806 of yacc.c  */
2823
2823
#line 809 "awkgram.y"
2824
2824
    {
2825
2825
                /* Initialize the two possible jump targets, the actual target
2839
2839
 
2840
2840
  case 53:
2841
2841
 
2842
 
/* Line 1821 of yacc.c  */
 
2842
/* Line 1806 of yacc.c  */
2843
2843
#line 824 "awkgram.y"
2844
2844
    {
2845
2845
                if (! in_function)
2849
2849
 
2850
2850
  case 54:
2851
2851
 
2852
 
/* Line 1821 of yacc.c  */
 
2852
/* Line 1806 of yacc.c  */
2853
2853
#line 827 "awkgram.y"
2854
2854
    {
2855
2855
                if ((yyvsp[(3) - (4)]) == NULL) {
2875
2875
 
2876
2876
  case 56:
2877
2877
 
2878
 
/* Line 1821 of yacc.c  */
 
2878
/* Line 1806 of yacc.c  */
2879
2879
#line 859 "awkgram.y"
2880
2880
    { in_print = TRUE; in_parens = 0; }
2881
2881
    break;
2882
2882
 
2883
2883
  case 57:
2884
2884
 
2885
 
/* Line 1821 of yacc.c  */
 
2885
/* Line 1806 of yacc.c  */
2886
2886
#line 860 "awkgram.y"
2887
2887
    {
2888
2888
                /*
2981
2981
 
2982
2982
  case 58:
2983
2983
 
2984
 
/* Line 1821 of yacc.c  */
 
2984
/* Line 1806 of yacc.c  */
2985
2985
#line 954 "awkgram.y"
2986
2986
    { sub_counter = 0; }
2987
2987
    break;
2988
2988
 
2989
2989
  case 59:
2990
2990
 
2991
 
/* Line 1821 of yacc.c  */
 
2991
/* Line 1806 of yacc.c  */
2992
2992
#line 955 "awkgram.y"
2993
2993
    {
2994
2994
                char *arr = (yyvsp[(2) - (4)])->lextok;
3018
3018
 
3019
3019
  case 60:
3020
3020
 
3021
 
/* Line 1821 of yacc.c  */
 
3021
/* Line 1806 of yacc.c  */
3022
3022
#line 984 "awkgram.y"
3023
3023
    {
3024
3024
                static short warned = FALSE;
3042
3042
 
3043
3043
  case 61:
3044
3044
 
3045
 
/* Line 1821 of yacc.c  */
 
3045
/* Line 1806 of yacc.c  */
3046
3046
#line 1003 "awkgram.y"
3047
3047
    {   (yyval) = optimize_assignment((yyvsp[(1) - (1)])); }
3048
3048
    break;
3049
3049
 
3050
3050
  case 62:
3051
3051
 
3052
 
/* Line 1821 of yacc.c  */
 
3052
/* Line 1806 of yacc.c  */
3053
3053
#line 1008 "awkgram.y"
3054
3054
    { (yyval) = NULL; }
3055
3055
    break;
3056
3056
 
3057
3057
  case 63:
3058
3058
 
3059
 
/* Line 1821 of yacc.c  */
 
3059
/* Line 1806 of yacc.c  */
3060
3060
#line 1010 "awkgram.y"
3061
3061
    { (yyval) = (yyvsp[(1) - (1)]); }
3062
3062
    break;
3063
3063
 
3064
3064
  case 64:
3065
3065
 
3066
 
/* Line 1821 of yacc.c  */
 
3066
/* Line 1806 of yacc.c  */
3067
3067
#line 1015 "awkgram.y"
3068
3068
    { (yyval) = NULL; }
3069
3069
    break;
3070
3070
 
3071
3071
  case 65:
3072
3072
 
3073
 
/* Line 1821 of yacc.c  */
 
3073
/* Line 1806 of yacc.c  */
3074
3074
#line 1017 "awkgram.y"
3075
3075
    {
3076
3076
                if ((yyvsp[(1) - (2)]) == NULL)
3082
3082
 
3083
3083
  case 66:
3084
3084
 
3085
 
/* Line 1821 of yacc.c  */
 
3085
/* Line 1806 of yacc.c  */
3086
3086
#line 1024 "awkgram.y"
3087
3087
    { (yyval) = NULL; }
3088
3088
    break;
3089
3089
 
3090
3090
  case 67:
3091
3091
 
3092
 
/* Line 1821 of yacc.c  */
 
3092
/* Line 1806 of yacc.c  */
3093
3093
#line 1029 "awkgram.y"
3094
3094
    {
3095
3095
                INSTRUCTION *casestmt = (yyvsp[(5) - (5)]);
3106
3106
 
3107
3107
  case 68:
3108
3108
 
3109
 
/* Line 1821 of yacc.c  */
 
3109
/* Line 1806 of yacc.c  */
3110
3110
#line 1041 "awkgram.y"
3111
3111
    {
3112
3112
                INSTRUCTION *casestmt = (yyvsp[(4) - (4)]);
3122
3122
 
3123
3123
  case 69:
3124
3124
 
3125
 
/* Line 1821 of yacc.c  */
 
3125
/* Line 1806 of yacc.c  */
3126
3126
#line 1055 "awkgram.y"
3127
3127
    {   (yyval) = (yyvsp[(1) - (1)]); }
3128
3128
    break;
3129
3129
 
3130
3130
  case 70:
3131
3131
 
3132
 
/* Line 1821 of yacc.c  */
 
3132
/* Line 1806 of yacc.c  */
3133
3133
#line 1057 "awkgram.y"
3134
3134
    { 
3135
3135
                NODE *n = (yyvsp[(2) - (2)])->memory;
3145
3145
 
3146
3146
  case 71:
3147
3147
 
3148
 
/* Line 1821 of yacc.c  */
 
3148
/* Line 1806 of yacc.c  */
3149
3149
#line 1068 "awkgram.y"
3150
3150
    {
3151
3151
                bcfree((yyvsp[(1) - (2)]));
3155
3155
 
3156
3156
  case 72:
3157
3157
 
3158
 
/* Line 1821 of yacc.c  */
 
3158
/* Line 1806 of yacc.c  */
3159
3159
#line 1073 "awkgram.y"
3160
3160
    {   (yyval) = (yyvsp[(1) - (1)]); }
3161
3161
    break;
3162
3162
 
3163
3163
  case 73:
3164
3164
 
3165
 
/* Line 1821 of yacc.c  */
 
3165
/* Line 1806 of yacc.c  */
3166
3166
#line 1075 "awkgram.y"
3167
3167
    {
3168
3168
                (yyvsp[(1) - (1)])->opcode = Op_push_re;
3172
3172
 
3173
3173
  case 74:
3174
3174
 
3175
 
/* Line 1821 of yacc.c  */
 
3175
/* Line 1806 of yacc.c  */
3176
3176
#line 1083 "awkgram.y"
3177
3177
    { (yyval) = (yyvsp[(1) - (1)]); }
3178
3178
    break;
3179
3179
 
3180
3180
  case 75:
3181
3181
 
3182
 
/* Line 1821 of yacc.c  */
 
3182
/* Line 1806 of yacc.c  */
3183
3183
#line 1085 "awkgram.y"
3184
3184
    { (yyval) = (yyvsp[(1) - (1)]); }
3185
3185
    break;
3186
3186
 
3187
3187
  case 77:
3188
3188
 
3189
 
/* Line 1821 of yacc.c  */
 
3189
/* Line 1806 of yacc.c  */
3190
3190
#line 1095 "awkgram.y"
3191
3191
    {
3192
3192
                (yyval) = (yyvsp[(2) - (3)]);
3195
3195
 
3196
3196
  case 78:
3197
3197
 
3198
 
/* Line 1821 of yacc.c  */
 
3198
/* Line 1806 of yacc.c  */
3199
3199
#line 1102 "awkgram.y"
3200
3200
    {
3201
3201
                in_print = FALSE;
3206
3206
 
3207
3207
  case 79:
3208
3208
 
3209
 
/* Line 1821 of yacc.c  */
 
3209
/* Line 1806 of yacc.c  */
3210
3210
#line 1107 "awkgram.y"
3211
3211
    { in_print = FALSE; in_parens = 0; }
3212
3212
    break;
3213
3213
 
3214
3214
  case 80:
3215
3215
 
3216
 
/* Line 1821 of yacc.c  */
 
3216
/* Line 1806 of yacc.c  */
3217
3217
#line 1108 "awkgram.y"
3218
3218
    {
3219
3219
                if ((yyvsp[(1) - (3)])->redir_type == redirect_twoway
3226
3226
 
3227
3227
  case 81:
3228
3228
 
3229
 
/* Line 1821 of yacc.c  */
 
3229
/* Line 1806 of yacc.c  */
3230
3230
#line 1119 "awkgram.y"
3231
3231
    {
3232
3232
                (yyval) = mk_condition((yyvsp[(3) - (6)]), (yyvsp[(1) - (6)]), (yyvsp[(6) - (6)]), NULL, NULL);
3235
3235
 
3236
3236
  case 82:
3237
3237
 
3238
 
/* Line 1821 of yacc.c  */
 
3238
/* Line 1806 of yacc.c  */
3239
3239
#line 1124 "awkgram.y"
3240
3240
    {
3241
3241
                (yyval) = mk_condition((yyvsp[(3) - (9)]), (yyvsp[(1) - (9)]), (yyvsp[(6) - (9)]), (yyvsp[(7) - (9)]), (yyvsp[(9) - (9)]));
3244
3244
 
3245
3245
  case 87:
3246
3246
 
3247
 
/* Line 1821 of yacc.c  */
 
3247
/* Line 1806 of yacc.c  */
3248
3248
#line 1141 "awkgram.y"
3249
3249
    { (yyval) = NULL; }
3250
3250
    break;
3251
3251
 
3252
3252
  case 88:
3253
3253
 
3254
 
/* Line 1821 of yacc.c  */
 
3254
/* Line 1806 of yacc.c  */
3255
3255
#line 1143 "awkgram.y"
3256
3256
    {
3257
3257
                bcfree((yyvsp[(1) - (2)]));
3261
3261
 
3262
3262
  case 89:
3263
3263
 
3264
 
/* Line 1821 of yacc.c  */
 
3264
/* Line 1806 of yacc.c  */
3265
3265
#line 1151 "awkgram.y"
3266
3266
    { (yyval) = NULL; }
3267
3267
    break;
3268
3268
 
3269
3269
  case 90:
3270
3270
 
3271
 
/* Line 1821 of yacc.c  */
 
3271
/* Line 1806 of yacc.c  */
3272
3272
#line 1153 "awkgram.y"
3273
3273
    { (yyval) = (yyvsp[(1) - (1)]) ; }
3274
3274
    break;
3275
3275
 
3276
3276
  case 91:
3277
3277
 
3278
 
/* Line 1821 of yacc.c  */
 
3278
/* Line 1806 of yacc.c  */
3279
3279
#line 1158 "awkgram.y"
3280
3280
    {
3281
3281
                (yyvsp[(1) - (1)])->param_count = 0;
3285
3285
 
3286
3286
  case 92:
3287
3287
 
3288
 
/* Line 1821 of yacc.c  */
 
3288
/* Line 1806 of yacc.c  */
3289
3289
#line 1163 "awkgram.y"
3290
3290
    {
3291
3291
                (yyvsp[(3) - (3)])->param_count =  (yyvsp[(1) - (3)])->lasti->param_count + 1;
3296
3296
 
3297
3297
  case 93:
3298
3298
 
3299
 
/* Line 1821 of yacc.c  */
 
3299
/* Line 1806 of yacc.c  */
3300
3300
#line 1169 "awkgram.y"
3301
3301
    { (yyval) = NULL; }
3302
3302
    break;
3303
3303
 
3304
3304
  case 94:
3305
3305
 
3306
 
/* Line 1821 of yacc.c  */
 
3306
/* Line 1806 of yacc.c  */
3307
3307
#line 1171 "awkgram.y"
3308
3308
    { (yyval) = (yyvsp[(1) - (2)]); }
3309
3309
    break;
3310
3310
 
3311
3311
  case 95:
3312
3312
 
3313
 
/* Line 1821 of yacc.c  */
 
3313
/* Line 1806 of yacc.c  */
3314
3314
#line 1173 "awkgram.y"
3315
3315
    { (yyval) = (yyvsp[(1) - (3)]); }
3316
3316
    break;
3317
3317
 
3318
3318
  case 96:
3319
3319
 
3320
 
/* Line 1821 of yacc.c  */
 
3320
/* Line 1806 of yacc.c  */
3321
3321
#line 1179 "awkgram.y"
3322
3322
    { (yyval) = NULL; }
3323
3323
    break;
3324
3324
 
3325
3325
  case 97:
3326
3326
 
3327
 
/* Line 1821 of yacc.c  */
 
3327
/* Line 1806 of yacc.c  */
3328
3328
#line 1181 "awkgram.y"
3329
3329
    { (yyval) = (yyvsp[(1) - (1)]); }
3330
3330
    break;
3331
3331
 
3332
3332
  case 98:
3333
3333
 
3334
 
/* Line 1821 of yacc.c  */
 
3334
/* Line 1806 of yacc.c  */
3335
3335
#line 1186 "awkgram.y"
3336
3336
    { (yyval) = NULL; }
3337
3337
    break;
3338
3338
 
3339
3339
  case 99:
3340
3340
 
3341
 
/* Line 1821 of yacc.c  */
 
3341
/* Line 1806 of yacc.c  */
3342
3342
#line 1188 "awkgram.y"
3343
3343
    { (yyval) = (yyvsp[(1) - (1)]); }
3344
3344
    break;
3345
3345
 
3346
3346
  case 100:
3347
3347
 
3348
 
/* Line 1821 of yacc.c  */
 
3348
/* Line 1806 of yacc.c  */
3349
3349
#line 1193 "awkgram.y"
3350
3350
    {   (yyval) = mk_expression_list(NULL, (yyvsp[(1) - (1)])); }
3351
3351
    break;
3352
3352
 
3353
3353
  case 101:
3354
3354
 
3355
 
/* Line 1821 of yacc.c  */
 
3355
/* Line 1806 of yacc.c  */
3356
3356
#line 1195 "awkgram.y"
3357
3357
    {
3358
3358
                (yyval) = mk_expression_list((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]));
3362
3362
 
3363
3363
  case 102:
3364
3364
 
3365
 
/* Line 1821 of yacc.c  */
 
3365
/* Line 1806 of yacc.c  */
3366
3366
#line 1200 "awkgram.y"
3367
3367
    { (yyval) = NULL; }
3368
3368
    break;
3369
3369
 
3370
3370
  case 103:
3371
3371
 
3372
 
/* Line 1821 of yacc.c  */
 
3372
/* Line 1806 of yacc.c  */
3373
3373
#line 1202 "awkgram.y"
3374
3374
    { (yyval) = NULL; }
3375
3375
    break;
3376
3376
 
3377
3377
  case 104:
3378
3378
 
3379
 
/* Line 1821 of yacc.c  */
 
3379
/* Line 1806 of yacc.c  */
3380
3380
#line 1204 "awkgram.y"
3381
3381
    { (yyval) = NULL; }
3382
3382
    break;
3383
3383
 
3384
3384
  case 105:
3385
3385
 
3386
 
/* Line 1821 of yacc.c  */
 
3386
/* Line 1806 of yacc.c  */
3387
3387
#line 1206 "awkgram.y"
3388
3388
    { (yyval) = NULL; }
3389
3389
    break;
3390
3390
 
3391
3391
  case 106:
3392
3392
 
3393
 
/* Line 1821 of yacc.c  */
 
3393
/* Line 1806 of yacc.c  */
3394
3394
#line 1212 "awkgram.y"
3395
3395
    {
3396
3396
                if (do_lint && (yyvsp[(3) - (3)])->lasti->opcode == Op_match_rec)
3402
3402
 
3403
3403
  case 107:
3404
3404
 
3405
 
/* Line 1821 of yacc.c  */
 
3405
/* Line 1806 of yacc.c  */
3406
3406
#line 1219 "awkgram.y"
3407
3407
    {   (yyval) = mk_boolean((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
3408
3408
    break;
3409
3409
 
3410
3410
  case 108:
3411
3411
 
3412
 
/* Line 1821 of yacc.c  */
 
3412
/* Line 1806 of yacc.c  */
3413
3413
#line 1221 "awkgram.y"
3414
3414
    {   (yyval) = mk_boolean((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
3415
3415
    break;
3416
3416
 
3417
3417
  case 109:
3418
3418
 
3419
 
/* Line 1821 of yacc.c  */
 
3419
/* Line 1806 of yacc.c  */
3420
3420
#line 1223 "awkgram.y"
3421
3421
    {
3422
3422
                if ((yyvsp[(1) - (3)])->lasti->opcode == Op_match_rec)
3437
3437
 
3438
3438
  case 110:
3439
3439
 
3440
 
/* Line 1821 of yacc.c  */
 
3440
/* Line 1806 of yacc.c  */
3441
3441
#line 1239 "awkgram.y"
3442
3442
    {
3443
3443
                if (do_lint_old)
3452
3452
 
3453
3453
  case 111:
3454
3454
 
3455
 
/* Line 1821 of yacc.c  */
 
3455
/* Line 1806 of yacc.c  */
3456
3456
#line 1249 "awkgram.y"
3457
3457
    {
3458
3458
                if (do_lint && (yyvsp[(3) - (3)])->lasti->opcode == Op_match_rec)
3464
3464
 
3465
3465
  case 112:
3466
3466
 
3467
 
/* Line 1821 of yacc.c  */
 
3467
/* Line 1806 of yacc.c  */
3468
3468
#line 1256 "awkgram.y"
3469
3469
    { (yyval) = mk_condition((yyvsp[(1) - (5)]), (yyvsp[(2) - (5)]), (yyvsp[(3) - (5)]), (yyvsp[(4) - (5)]), (yyvsp[(5) - (5)])); }
3470
3470
    break;
3471
3471
 
3472
3472
  case 113:
3473
3473
 
3474
 
/* Line 1821 of yacc.c  */
 
3474
/* Line 1806 of yacc.c  */
3475
3475
#line 1258 "awkgram.y"
3476
3476
    { (yyval) = (yyvsp[(1) - (1)]); }
3477
3477
    break;
3478
3478
 
3479
3479
  case 114:
3480
3480
 
3481
 
/* Line 1821 of yacc.c  */
 
3481
/* Line 1806 of yacc.c  */
3482
3482
#line 1263 "awkgram.y"
3483
3483
    { (yyval) = (yyvsp[(1) - (1)]); }
3484
3484
    break;
3485
3485
 
3486
3486
  case 115:
3487
3487
 
3488
 
/* Line 1821 of yacc.c  */
 
3488
/* Line 1806 of yacc.c  */
3489
3489
#line 1265 "awkgram.y"
3490
3490
    { (yyval) = (yyvsp[(1) - (1)]); }
3491
3491
    break;
3492
3492
 
3493
3493
  case 116:
3494
3494
 
3495
 
/* Line 1821 of yacc.c  */
 
3495
/* Line 1806 of yacc.c  */
3496
3496
#line 1267 "awkgram.y"
3497
3497
    {   
3498
3498
                (yyvsp[(2) - (2)])->opcode = Op_assign_quotient;
3502
3502
 
3503
3503
  case 117:
3504
3504
 
3505
 
/* Line 1821 of yacc.c  */
 
3505
/* Line 1806 of yacc.c  */
3506
3506
#line 1275 "awkgram.y"
3507
3507
    { (yyval) = (yyvsp[(1) - (1)]); }
3508
3508
    break;
3509
3509
 
3510
3510
  case 118:
3511
3511
 
3512
 
/* Line 1821 of yacc.c  */
 
3512
/* Line 1806 of yacc.c  */
3513
3513
#line 1277 "awkgram.y"
3514
3514
    { (yyval) = (yyvsp[(1) - (1)]); }
3515
3515
    break;
3516
3516
 
3517
3517
  case 119:
3518
3518
 
3519
 
/* Line 1821 of yacc.c  */
 
3519
/* Line 1806 of yacc.c  */
3520
3520
#line 1282 "awkgram.y"
3521
3521
    { (yyval) = (yyvsp[(1) - (1)]); }
3522
3522
    break;
3523
3523
 
3524
3524
  case 120:
3525
3525
 
3526
 
/* Line 1821 of yacc.c  */
 
3526
/* Line 1806 of yacc.c  */
3527
3527
#line 1284 "awkgram.y"
3528
3528
    { (yyval) = (yyvsp[(1) - (1)]); }
3529
3529
    break;
3530
3530
 
3531
3531
  case 121:
3532
3532
 
3533
 
/* Line 1821 of yacc.c  */
 
3533
/* Line 1806 of yacc.c  */
3534
3534
#line 1289 "awkgram.y"
3535
3535
    { (yyval) = (yyvsp[(1) - (1)]); }
3536
3536
    break;
3537
3537
 
3538
3538
  case 122:
3539
3539
 
3540
 
/* Line 1821 of yacc.c  */
 
3540
/* Line 1806 of yacc.c  */
3541
3541
#line 1291 "awkgram.y"
3542
3542
    { (yyval) = (yyvsp[(1) - (1)]); }
3543
3543
    break;
3544
3544
 
3545
3545
  case 123:
3546
3546
 
3547
 
/* Line 1821 of yacc.c  */
 
3547
/* Line 1806 of yacc.c  */
3548
3548
#line 1293 "awkgram.y"
3549
3549
    {
3550
3550
                int count = 2;
3596
3596
 
3597
3597
  case 125:
3598
3598
 
3599
 
/* Line 1821 of yacc.c  */
 
3599
/* Line 1806 of yacc.c  */
3600
3600
#line 1345 "awkgram.y"
3601
3601
    { (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
3602
3602
    break;
3603
3603
 
3604
3604
  case 126:
3605
3605
 
3606
 
/* Line 1821 of yacc.c  */
 
3606
/* Line 1806 of yacc.c  */
3607
3607
#line 1347 "awkgram.y"
3608
3608
    { (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
3609
3609
    break;
3610
3610
 
3611
3611
  case 127:
3612
3612
 
3613
 
/* Line 1821 of yacc.c  */
 
3613
/* Line 1806 of yacc.c  */
3614
3614
#line 1349 "awkgram.y"
3615
3615
    { (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
3616
3616
    break;
3617
3617
 
3618
3618
  case 128:
3619
3619
 
3620
 
/* Line 1821 of yacc.c  */
 
3620
/* Line 1806 of yacc.c  */
3621
3621
#line 1351 "awkgram.y"
3622
3622
    { (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
3623
3623
    break;
3624
3624
 
3625
3625
  case 129:
3626
3626
 
3627
 
/* Line 1821 of yacc.c  */
 
3627
/* Line 1806 of yacc.c  */
3628
3628
#line 1353 "awkgram.y"
3629
3629
    { (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
3630
3630
    break;
3631
3631
 
3632
3632
  case 130:
3633
3633
 
3634
 
/* Line 1821 of yacc.c  */
 
3634
/* Line 1806 of yacc.c  */
3635
3635
#line 1355 "awkgram.y"
3636
3636
    { (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
3637
3637
    break;
3638
3638
 
3639
3639
  case 131:
3640
3640
 
3641
 
/* Line 1821 of yacc.c  */
 
3641
/* Line 1806 of yacc.c  */
3642
3642
#line 1357 "awkgram.y"
3643
3643
    {
3644
3644
                /*
3666
3666
 
3667
3667
  case 132:
3668
3668
 
3669
 
/* Line 1821 of yacc.c  */
 
3669
/* Line 1806 of yacc.c  */
3670
3670
#line 1380 "awkgram.y"
3671
3671
    {
3672
3672
                (yyvsp[(2) - (2)])->opcode = Op_postincrement;
3676
3676
 
3677
3677
  case 133:
3678
3678
 
3679
 
/* Line 1821 of yacc.c  */
 
3679
/* Line 1806 of yacc.c  */
3680
3680
#line 1385 "awkgram.y"
3681
3681
    {
3682
3682
                (yyvsp[(2) - (2)])->opcode = Op_postdecrement;
3686
3686
 
3687
3687
  case 134:
3688
3688
 
3689
 
/* Line 1821 of yacc.c  */
 
3689
/* Line 1806 of yacc.c  */
3690
3690
#line 1390 "awkgram.y"
3691
3691
    {
3692
3692
                if (do_lint_old) {
3711
3711
 
3712
3712
  case 135:
3713
3713
 
3714
 
/* Line 1821 of yacc.c  */
 
3714
/* Line 1806 of yacc.c  */
3715
3715
#line 1415 "awkgram.y"
3716
3716
    {
3717
3717
                  (yyval) = mk_getline((yyvsp[(3) - (4)]), (yyvsp[(4) - (4)]), (yyvsp[(1) - (4)]), (yyvsp[(2) - (4)])->redir_type);
3721
3721
 
3722
3722
  case 136:
3723
3723
 
3724
 
/* Line 1821 of yacc.c  */
 
3724
/* Line 1806 of yacc.c  */
3725
3725
#line 1421 "awkgram.y"
3726
3726
    { (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
3727
3727
    break;
3728
3728
 
3729
3729
  case 137:
3730
3730
 
3731
 
/* Line 1821 of yacc.c  */
 
3731
/* Line 1806 of yacc.c  */
3732
3732
#line 1423 "awkgram.y"
3733
3733
    { (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
3734
3734
    break;
3735
3735
 
3736
3736
  case 138:
3737
3737
 
3738
 
/* Line 1821 of yacc.c  */
 
3738
/* Line 1806 of yacc.c  */
3739
3739
#line 1425 "awkgram.y"
3740
3740
    { (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
3741
3741
    break;
3742
3742
 
3743
3743
  case 139:
3744
3744
 
3745
 
/* Line 1821 of yacc.c  */
 
3745
/* Line 1806 of yacc.c  */
3746
3746
#line 1427 "awkgram.y"
3747
3747
    { (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
3748
3748
    break;
3749
3749
 
3750
3750
  case 140:
3751
3751
 
3752
 
/* Line 1821 of yacc.c  */
 
3752
/* Line 1806 of yacc.c  */
3753
3753
#line 1429 "awkgram.y"
3754
3754
    { (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
3755
3755
    break;
3756
3756
 
3757
3757
  case 141:
3758
3758
 
3759
 
/* Line 1821 of yacc.c  */
 
3759
/* Line 1806 of yacc.c  */
3760
3760
#line 1431 "awkgram.y"
3761
3761
    { (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
3762
3762
    break;
3763
3763
 
3764
3764
  case 142:
3765
3765
 
3766
 
/* Line 1821 of yacc.c  */
 
3766
/* Line 1806 of yacc.c  */
3767
3767
#line 1436 "awkgram.y"
3768
3768
    {
3769
3769
                (yyval) = list_create((yyvsp[(1) - (1)]));
3772
3772
 
3773
3773
  case 143:
3774
3774
 
3775
 
/* Line 1821 of yacc.c  */
 
3775
/* Line 1806 of yacc.c  */
3776
3776
#line 1440 "awkgram.y"
3777
3777
    {
3778
3778
                if ((yyvsp[(2) - (2)])->opcode == Op_match_rec) {
3809
3809
 
3810
3810
  case 144:
3811
3811
 
3812
 
/* Line 1821 of yacc.c  */
 
3812
/* Line 1806 of yacc.c  */
3813
3813
#line 1472 "awkgram.y"
3814
3814
    { (yyval) = (yyvsp[(2) - (3)]); }
3815
3815
    break;
3816
3816
 
3817
3817
  case 145:
3818
3818
 
3819
 
/* Line 1821 of yacc.c  */
 
3819
/* Line 1806 of yacc.c  */
3820
3820
#line 1474 "awkgram.y"
3821
3821
    {
3822
3822
                (yyval) = snode((yyvsp[(3) - (4)]), (yyvsp[(1) - (4)]));
3827
3827
 
3828
3828
  case 146:
3829
3829
 
3830
 
/* Line 1821 of yacc.c  */
 
3830
/* Line 1806 of yacc.c  */
3831
3831
#line 1480 "awkgram.y"
3832
3832
    {
3833
3833
                (yyval) = snode((yyvsp[(3) - (4)]), (yyvsp[(1) - (4)]));
3838
3838
 
3839
3839
  case 147:
3840
3840
 
3841
 
/* Line 1821 of yacc.c  */
 
3841
/* Line 1806 of yacc.c  */
3842
3842
#line 1486 "awkgram.y"
3843
3843
    {
3844
3844
                static short warned1 = FALSE;
3856
3856
 
3857
3857
  case 150:
3858
3858
 
3859
 
/* Line 1821 of yacc.c  */
 
3859
/* Line 1806 of yacc.c  */
3860
3860
#line 1501 "awkgram.y"
3861
3861
    {
3862
3862
                (yyvsp[(1) - (2)])->opcode = Op_preincrement;
3866
3866
 
3867
3867
  case 151:
3868
3868
 
3869
 
/* Line 1821 of yacc.c  */
 
3869
/* Line 1806 of yacc.c  */
3870
3870
#line 1506 "awkgram.y"
3871
3871
    {
3872
3872
                (yyvsp[(1) - (2)])->opcode = Op_predecrement;
3876
3876
 
3877
3877
  case 152:
3878
3878
 
3879
 
/* Line 1821 of yacc.c  */
 
3879
/* Line 1806 of yacc.c  */
3880
3880
#line 1511 "awkgram.y"
3881
3881
    {
3882
3882
                (yyval) = list_create((yyvsp[(1) - (1)]));
3885
3885
 
3886
3886
  case 153:
3887
3887
 
3888
 
/* Line 1821 of yacc.c  */
 
3888
/* Line 1806 of yacc.c  */
3889
3889
#line 1515 "awkgram.y"
3890
3890
    {
3891
3891
                (yyval) = list_create((yyvsp[(1) - (1)]));
3894
3894
 
3895
3895
  case 154:
3896
3896
 
3897
 
/* Line 1821 of yacc.c  */
 
3897
/* Line 1806 of yacc.c  */
3898
3898
#line 1519 "awkgram.y"
3899
3899
    {
3900
3900
                if ((yyvsp[(2) - (2)])->lasti->opcode == Op_push_i
3917
3917
 
3918
3918
  case 155:
3919
3919
 
3920
 
/* Line 1821 of yacc.c  */
 
3920
/* Line 1806 of yacc.c  */
3921
3921
#line 1537 "awkgram.y"
3922
3922
    {
3923
3923
            /*
3932
3932
 
3933
3933
  case 156:
3934
3934
 
3935
 
/* Line 1821 of yacc.c  */
 
3935
/* Line 1806 of yacc.c  */
3936
3936
#line 1550 "awkgram.y"
3937
3937
    {
3938
3938
                func_use((yyvsp[(1) - (1)])->lasti->func_name, FUNC_USE);
3942
3942
 
3943
3943
  case 157:
3944
3944
 
3945
 
/* Line 1821 of yacc.c  */
 
3945
/* Line 1806 of yacc.c  */
3946
3946
#line 1555 "awkgram.y"
3947
3947
    {
3948
3948
                /* indirect function call */
3980
3980
 
3981
3981
  case 158:
3982
3982
 
3983
 
/* Line 1821 of yacc.c  */
 
3983
/* Line 1806 of yacc.c  */
3984
3984
#line 1591 "awkgram.y"
3985
3985
    {
3986
3986
                param_sanity((yyvsp[(3) - (4)]));
3999
3999
 
4000
4000
  case 159:
4001
4001
 
4002
 
/* Line 1821 of yacc.c  */
 
4002
/* Line 1806 of yacc.c  */
4003
4003
#line 1608 "awkgram.y"
4004
4004
    { (yyval) = NULL; }
4005
4005
    break;
4006
4006
 
4007
4007
  case 160:
4008
4008
 
4009
 
/* Line 1821 of yacc.c  */
 
4009
/* Line 1806 of yacc.c  */
4010
4010
#line 1610 "awkgram.y"
4011
4011
    { (yyval) = (yyvsp[(1) - (1)]); }
4012
4012
    break;
4013
4013
 
4014
4014
  case 161:
4015
4015
 
4016
 
/* Line 1821 of yacc.c  */
 
4016
/* Line 1806 of yacc.c  */
4017
4017
#line 1615 "awkgram.y"
4018
4018
    { (yyval) = NULL; }
4019
4019
    break;
4020
4020
 
4021
4021
  case 162:
4022
4022
 
4023
 
/* Line 1821 of yacc.c  */
 
4023
/* Line 1806 of yacc.c  */
4024
4024
#line 1617 "awkgram.y"
4025
4025
    { (yyval) = (yyvsp[(1) - (2)]); }
4026
4026
    break;
4027
4027
 
4028
4028
  case 163:
4029
4029
 
4030
 
/* Line 1821 of yacc.c  */
 
4030
/* Line 1806 of yacc.c  */
4031
4031
#line 1622 "awkgram.y"
4032
4032
    {   (yyval) = (yyvsp[(1) - (1)]); }
4033
4033
    break;
4034
4034
 
4035
4035
  case 164:
4036
4036
 
4037
 
/* Line 1821 of yacc.c  */
 
4037
/* Line 1806 of yacc.c  */
4038
4038
#line 1624 "awkgram.y"
4039
4039
    {
4040
4040
                (yyval) = list_merge((yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]));
4043
4043
 
4044
4044
  case 165:
4045
4045
 
4046
 
/* Line 1821 of yacc.c  */
 
4046
/* Line 1806 of yacc.c  */
4047
4047
#line 1631 "awkgram.y"
4048
4048
    {
4049
4049
                INSTRUCTION *ip = (yyvsp[(1) - (1)])->lasti; 
4062
4062
 
4063
4063
  case 166:
4064
4064
 
4065
 
/* Line 1821 of yacc.c  */
 
4065
/* Line 1806 of yacc.c  */
4066
4066
#line 1648 "awkgram.y"
4067
4067
    {
4068
4068
                INSTRUCTION *t = (yyvsp[(2) - (3)]);
4081
4081
 
4082
4082
  case 167:
4083
4083
 
4084
 
/* Line 1821 of yacc.c  */
 
4084
/* Line 1806 of yacc.c  */
4085
4085
#line 1665 "awkgram.y"
4086
4086
    {   (yyval) = (yyvsp[(1) - (1)]); }
4087
4087
    break;
4088
4088
 
4089
4089
  case 168:
4090
4090
 
4091
 
/* Line 1821 of yacc.c  */
 
4091
/* Line 1806 of yacc.c  */
4092
4092
#line 1667 "awkgram.y"
4093
4093
    {
4094
4094
                (yyval) = list_merge((yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]));
4097
4097
 
4098
4098
  case 169:
4099
4099
 
4100
 
/* Line 1821 of yacc.c  */
 
4100
/* Line 1806 of yacc.c  */
4101
4101
#line 1674 "awkgram.y"
4102
4102
    { (yyval) = (yyvsp[(1) - (2)]); }
4103
4103
    break;
4104
4104
 
4105
4105
  case 170:
4106
4106
 
4107
 
/* Line 1821 of yacc.c  */
 
4107
/* Line 1806 of yacc.c  */
4108
4108
#line 1679 "awkgram.y"
4109
4109
    {
4110
4110
                char *var_name = (yyvsp[(1) - (1)])->lextok;
4117
4117
 
4118
4118
  case 171:
4119
4119
 
4120
 
/* Line 1821 of yacc.c  */
 
4120
/* Line 1806 of yacc.c  */
4121
4121
#line 1687 "awkgram.y"
4122
4122
    {
4123
4123
                char *arr = (yyvsp[(1) - (2)])->lextok;
4129
4129
 
4130
4130
  case 172:
4131
4131
 
4132
 
/* Line 1821 of yacc.c  */
 
4132
/* Line 1806 of yacc.c  */
4133
4133
#line 1697 "awkgram.y"
4134
4134
    {
4135
4135
                INSTRUCTION *ip = (yyvsp[(1) - (1)])->nexti;
4146
4146
 
4147
4147
  case 173:
4148
4148
 
4149
 
/* Line 1821 of yacc.c  */
 
4149
/* Line 1806 of yacc.c  */
4150
4150
#line 1709 "awkgram.y"
4151
4151
    {
4152
4152
                (yyval) = list_append((yyvsp[(2) - (3)]), (yyvsp[(1) - (3)]));
4157
4157
 
4158
4158
  case 174:
4159
4159
 
4160
 
/* Line 1821 of yacc.c  */
 
4160
/* Line 1806 of yacc.c  */
4161
4161
#line 1718 "awkgram.y"
4162
4162
    {
4163
4163
                (yyvsp[(1) - (1)])->opcode = Op_postincrement;
4166
4166
 
4167
4167
  case 175:
4168
4168
 
4169
 
/* Line 1821 of yacc.c  */
 
4169
/* Line 1806 of yacc.c  */
4170
4170
#line 1722 "awkgram.y"
4171
4171
    {
4172
4172
                (yyvsp[(1) - (1)])->opcode = Op_postdecrement;
4175
4175
 
4176
4176
  case 176:
4177
4177
 
4178
 
/* Line 1821 of yacc.c  */
 
4178
/* Line 1806 of yacc.c  */
4179
4179
#line 1725 "awkgram.y"
4180
4180
    { (yyval) = NULL; }
4181
4181
    break;
4182
4182
 
4183
4183
  case 178:
4184
4184
 
4185
 
/* Line 1821 of yacc.c  */
 
4185
/* Line 1806 of yacc.c  */
4186
4186
#line 1733 "awkgram.y"
4187
4187
    { yyerrok; }
4188
4188
    break;
4189
4189
 
4190
4190
  case 179:
4191
4191
 
4192
 
/* Line 1821 of yacc.c  */
 
4192
/* Line 1806 of yacc.c  */
4193
4193
#line 1737 "awkgram.y"
4194
4194
    { yyerrok; }
4195
4195
    break;
4196
4196
 
4197
4197
  case 182:
4198
4198
 
4199
 
/* Line 1821 of yacc.c  */
 
4199
/* Line 1806 of yacc.c  */
4200
4200
#line 1746 "awkgram.y"
4201
4201
    { yyerrok; }
4202
4202
    break;
4203
4203
 
4204
4204
  case 183:
4205
4205
 
4206
 
/* Line 1821 of yacc.c  */
 
4206
/* Line 1806 of yacc.c  */
4207
4207
#line 1750 "awkgram.y"
4208
4208
    { (yyval) = (yyvsp[(1) - (1)]); yyerrok; }
4209
4209
    break;
4210
4210
 
4211
4211
  case 184:
4212
4212
 
4213
 
/* Line 1821 of yacc.c  */
 
4213
/* Line 1806 of yacc.c  */
4214
4214
#line 1754 "awkgram.y"
4215
4215
    { yyerrok; }
4216
4216
    break;
4217
4217
 
4218
4218
 
4219
4219
 
4220
 
/* Line 1821 of yacc.c  */
 
4220
/* Line 1806 of yacc.c  */
4221
4221
#line 4234 "awkgram.c"
4222
4222
      default: break;
4223
4223
    }