2046{
2047
2049
2050
2052
2053
2055
2056
2058
2059 int yystate;
2060
2061 int yyerrstatus;
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2075
2076
2080
2081
2085
2086
2088
2090
2091 int yyn;
2092 int yyresult;
2093
2094 int yytoken;
2095
2096
2099
2100#if YYERROR_VERBOSE
2101
2102 char yymsgbuf[128];
2103 char *yymsg = yymsgbuf;
2104 YYSIZE_T yymsg_alloc =
sizeof yymsgbuf;
2105#endif
2106
2107#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
2108
2109
2110
2111 int yylen = 0;
2112
2113 yytoken = 0;
2114 yyss = yyssa;
2115 yyvs = yyvsa;
2116 yyls = yylsa;
2118
2119 YYDPRINTF ((stderr,
"Starting parse\n"));
2120
2121 yystate = 0;
2122 yyerrstatus = 0;
2125
2126
2127
2128
2129
2130 yyssp = yyss;
2131 yyvsp = yyvs;
2132 yylsp = yyls;
2133
2134#if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
2135
2138#endif
2139
2140 goto yysetstate;
2141
2142
2143
2144
2145 yynewstate:
2146
2147
2148 yyssp++;
2149
2150 yysetstate:
2151 *yyssp = yystate;
2152
2153 if (yyss + yystacksize - 1 <= yyssp)
2154 {
2155
2156 YYSIZE_T yysize = yyssp - yyss + 1;
2157
2158#ifdef yyoverflow
2159 {
2160
2161
2162
2166
2167
2168
2169
2170
2171 yyoverflow (
YY_(
"memory exhausted"),
2172 &yyss1, yysize * sizeof (*yyssp),
2173 &yyvs1, yysize * sizeof (*yyvsp),
2174 &yyls1, yysize * sizeof (*yylsp),
2175 &yystacksize);
2176
2177 yyls = yyls1;
2178 yyss = yyss1;
2179 yyvs = yyvs1;
2180 }
2181#else
2182# ifndef YYSTACK_RELOCATE
2183 goto yyexhaustedlab;
2184# else
2185
2187 goto yyexhaustedlab;
2188 yystacksize *= 2;
2191
2192 {
2196 if (! yyptr)
2197 goto yyexhaustedlab;
2201# undef YYSTACK_RELOCATE
2202 if (yyss1 != yyssa)
2204 }
2205# endif
2206#endif
2207
2208 yyssp = yyss + yysize - 1;
2209 yyvsp = yyvs + yysize - 1;
2210 yylsp = yyls + yysize - 1;
2211
2212 YYDPRINTF ((stderr,
"Stack size increased to %lu\n",
2213 (unsigned long int) yystacksize));
2214
2215 if (yyss + yystacksize - 1 <= yyssp)
2217 }
2218
2219 YYDPRINTF ((stderr,
"Entering state %d\n", yystate));
2220
2223
2224 goto yybackup;
2225
2226
2227
2228
2229yybackup:
2230
2231
2232
2233
2234
2237 goto yydefault;
2238
2239
2240
2241
2243 {
2244 YYDPRINTF ((stderr,
"Reading a token: "));
2246 }
2247
2249 {
2251 YYDPRINTF ((stderr,
"Now at end of input.\n"));
2252 }
2253 else
2254 {
2257 }
2258
2259
2260
2261 yyn += yytoken;
2263 goto yydefault;
2265 if (yyn <= 0)
2266 {
2268 goto yyerrlab;
2269 yyn = -yyn;
2270 goto yyreduce;
2271 }
2272
2273
2274
2275 if (yyerrstatus)
2276 yyerrstatus--;
2277
2278
2280
2281
2283
2284 yystate = yyn;
2287 goto yynewstate;
2288
2289
2290
2291
2292
2293yydefault:
2295 if (yyn == 0)
2296 goto yyerrlab;
2297 goto yyreduce;
2298
2299
2300
2301
2302
2303yyreduce:
2304
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315 yyval = yyvsp[1-yylen];
2316
2317
2320 switch (yyn)
2321 {
2322 case 2:
2323
2324
2325#line 190 "ael.y"
2326 { (yyval.
pval) = parseio->
pval = (yyvsp[(1) - (1)].
pval); }
2327 break;
2328
2329 case 3:
2330
2331
2332#line 193 "ael.y"
2333 {(yyval.
pval)=(yyvsp[(1) - (1)].
pval);}
2334 break;
2335
2336 case 4:
2337
2338
2339#line 194 "ael.y"
2341 break;
2342
2343 case 5:
2344
2345
2346#line 195 "ael.y"
2347 {(yyval.
pval)=(yyvsp[(1) - (2)].
pval);}
2348 break;
2349
2350 case 6:
2351
2352
2353#line 198 "ael.y"
2354 {(yyval.
pval)=(yyvsp[(1) - (1)].
pval);}
2355 break;
2356
2357 case 7:
2358
2359
2360#line 199 "ael.y"
2361 {(yyval.
pval)=(yyvsp[(1) - (1)].
pval);}
2362 break;
2363
2364 case 8:
2365
2366
2367#line 200 "ael.y"
2368 {(yyval.
pval)=(yyvsp[(1) - (1)].
pval);}
2369 break;
2370
2371 case 9:
2372
2373
2374#line 201 "ael.y"
2376 break;
2377
2378 case 10:
2379
2380
2381#line 204 "ael.y"
2382 { (yyval.
str) = (yyvsp[(1) - (1)].
str); }
2383 break;
2384
2385 case 11:
2386
2387
2388#line 205 "ael.y"
2390 break;
2391
2392 case 12:
2393
2394
2395#line 208 "ael.y"
2396 {
2398 (yyval.
pval)->u1.
str = (yyvsp[(3) - (6)].
str);
2399 (yyval.
pval)->u2.statements = (yyvsp[(5) - (6)].
pval);
2401 (yyval.
pval)->u3.abstract = (yyvsp[(1) - (6)].intval);}
2402 break;
2403
2404 case 13:
2405
2406
2407#line 217 "ael.y"
2409 break;
2410
2411 case 14:
2412
2413
2414#line 218 "ael.y"
2416 break;
2417
2418 case 15:
2419
2420
2421#line 219 "ael.y"
2423 break;
2424
2425 case 16:
2426
2427
2428#line 220 "ael.y"
2430 break;
2431
2432 case 17:
2433
2434
2435#line 221 "ael.y"
2437 break;
2438
2439 case 18:
2440
2441
2442#line 224 "ael.y"
2443 {
2445 (yyval.
pval)->u1.
str = (yyvsp[(2) - (8)].
str); (yyval.
pval)->u2.arglist = (yyvsp[(4) - (8)].
pval); (yyval.
pval)->u3.macro_statements = (yyvsp[(7) - (8)].
pval);
2447 break;
2448
2449 case 19:
2450
2451
2452#line 230 "ael.y"
2453 {
2457 break;
2458
2459 case 20:
2460
2461
2462#line 236 "ael.y"
2464 break;
2465
2466 case 21:
2467
2468
2469#line 237 "ael.y"
2471 break;
2472
2473 case 22:
2474
2475
2476#line 238 "ael.y"
2477 {(yyval.
pval)=(yyvsp[(2) - (2)].
pval);}
2478 break;
2479
2480 case 23:
2481
2482
2483#line 241 "ael.y"
2485 break;
2486
2487 case 24:
2488
2489
2490#line 241 "ael.y"
2491 {
2493 (yyval.
pval)->u1.
str = (yyvsp[(1) - (5)].
str);
2494 (yyval.
pval)->u2.val = (yyvsp[(4) - (5)].
str); }
2495 break;
2496
2497 case 25:
2498
2499
2500#line 247 "ael.y"
2502 break;
2503
2504 case 26:
2505
2506
2507#line 247 "ael.y"
2508 {
2510 (yyval.
pval)->u1.
str = (yyvsp[(2) - (6)].
str);
2511 (yyval.
pval)->u2.val = (yyvsp[(5) - (6)].
str); }
2512 break;
2513
2514 case 27:
2515
2516
2517#line 254 "ael.y"
2519 break;
2520
2521 case 28:
2522
2523
2524#line 255 "ael.y"
2525 { (yyval.
pval) =
nword((yyvsp[(1) - (1)].
str), &(yylsp[(1) - (1)])); }
2526 break;
2527
2528 case 29:
2529
2530
2531#line 256 "ael.y"
2533 break;
2534
2535 case 30:
2536
2537
2538#line 257 "ael.y"
2539 {(yyval.
pval)=(yyvsp[(1) - (2)].
pval);}
2540 break;
2541
2542 case 31:
2543
2544
2545#line 260 "ael.y"
2547 break;
2548
2549 case 32:
2550
2551
2552#line 261 "ael.y"
2554 break;
2555
2556 case 33:
2557
2558
2559#line 262 "ael.y"
2560 { (yyval.
pval)=(yyvsp[(2) - (2)].
pval);}
2561 break;
2562
2563 case 34:
2564
2565
2566#line 265 "ael.y"
2567 {(yyval.
pval)=(yyvsp[(1) - (1)].
pval);}
2568 break;
2569
2570 case 35:
2571
2572
2573#line 266 "ael.y"
2574 {(yyval.
pval)=(yyvsp[(1) - (1)].
pval);}
2575 break;
2576
2577 case 36:
2578
2579
2580#line 267 "ael.y"
2581 {(yyval.
pval)=(yyvsp[(1) - (1)].
pval);}
2582 break;
2583
2584 case 37:
2585
2586
2587#line 268 "ael.y"
2588 {(yyval.
pval)=(yyvsp[(1) - (1)].
pval);}
2589 break;
2590
2591 case 38:
2592
2593
2594#line 269 "ael.y"
2595 {(yyval.
pval)=(yyvsp[(1) - (1)].
pval);}
2596 break;
2597
2598 case 39:
2599
2600
2601#line 270 "ael.y"
2602 {(yyval.
pval)=(yyvsp[(1) - (1)].
pval);}
2603 break;
2604
2605 case 40:
2606
2607
2608#line 271 "ael.y"
2609 {(yyval.
pval)=(yyvsp[(1) - (1)].
pval);}
2610 break;
2611
2612 case 41:
2613
2614
2615#line 272 "ael.y"
2617 break;
2618
2619 case 42:
2620
2621
2622#line 273 "ael.y"
2624 break;
2625
2626 case 43:
2627
2628
2629#line 276 "ael.y"
2630 {
2632 (yyval.
pval)->u1.
str = (yyvsp[(3) - (4)].
str);}
2633 break;
2634
2635 case 44:
2636
2637
2638#line 281 "ael.y"
2639 {
2641 (yyval.
pval)->u1.
str = (yyvsp[(1) - (3)].
str);
2642 (yyval.
pval)->u2.statements = (yyvsp[(3) - (3)].
pval);
set_dads((yyval.
pval),(yyvsp[(3) - (3)].pval));}
2643 break;
2644
2645 case 45:
2646
2647
2648#line 285 "ael.y"
2649 {
2651 (yyval.
pval)->u1.
str =
malloc(strlen((yyvsp[(1) - (5)].
str))+strlen((yyvsp[(3) - (5)].
str))+2);
2652 strcpy((yyval.
pval)->u1.str,(yyvsp[(1) - (5)].str));
2653 strcat((yyval.
pval)->u1.str,
"@");
2654 strcat((yyval.
pval)->u1.str,(yyvsp[(3) - (5)].str));
2656 (yyval.
pval)->u2.statements = (yyvsp[(5) - (5)].
pval);
set_dads((yyval.
pval),(yyvsp[(5) - (5)].pval));}
2657 break;
2658
2659 case 46:
2660
2661
2662#line 293 "ael.y"
2663 {
2665 (yyval.
pval)->u1.
str = (yyvsp[(2) - (4)].
str);
2666 (yyval.
pval)->u2.statements = (yyvsp[(4) - (4)].
pval);
set_dads((yyval.
pval),(yyvsp[(4) - (4)].pval));
2667 (yyval.
pval)->u4.regexten=1;}
2668 break;
2669
2670 case 47:
2671
2672
2673#line 298 "ael.y"
2674 {
2676 (yyval.
pval)->u1.
str = (yyvsp[(5) - (7)].
str);
2677 (yyval.
pval)->u2.statements = (yyvsp[(7) - (7)].
pval);
set_dads((yyval.
pval),(yyvsp[(7) - (7)].pval));
2678 (yyval.
pval)->u3.hints = (yyvsp[(3) - (7)].
str);}
2679 break;
2680
2681 case 48:
2682
2683
2684#line 303 "ael.y"
2685 {
2687 (yyval.
pval)->u1.
str = (yyvsp[(6) - (8)].
str);
2688 (yyval.
pval)->u2.statements = (yyvsp[(8) - (8)].
pval);
set_dads((yyval.
pval),(yyvsp[(8) - (8)].pval));
2689 (yyval.
pval)->u4.regexten=1;
2690 (yyval.
pval)->u3.hints = (yyvsp[(4) - (8)].
str);}
2691 break;
2692
2693 case 49:
2694
2695
2696#line 312 "ael.y"
2698 break;
2699
2700 case 50:
2701
2702
2703#line 313 "ael.y"
2705 break;
2706
2707 case 51:
2708
2709
2710#line 314 "ael.y"
2711 {(yyval.
pval)=(yyvsp[(2) - (2)].
pval);}
2712 break;
2713
2714 case 52:
2715
2716
2717#line 320 "ael.y"
2718 {
2719 if (
asprintf(&(yyval.
str),
"%s:%s:%s", (yyvsp[(1) - (5)].
str), (yyvsp[(3) - (5)].
str), (yyvsp[(5) - (5)].
str)) < 0) {
2722 } else {
2726 }
2727 }
2728 break;
2729
2730 case 53:
2731
2732
2733#line 330 "ael.y"
2734 { (yyval.
str) = (yyvsp[(1) - (1)].
str); }
2735 break;
2736
2737 case 54:
2738
2739
2740#line 334 "ael.y"
2741 {
2742 (yyval.
pval) =
nword((yyvsp[(1) - (7)].
str), &(yylsp[(1) - (7)]));
2743 (yyval.
pval)->next =
nword((yyvsp[(3) - (7)].
str), &(yylsp[(3) - (7)]));
2744 (yyval.
pval)->next->
next =
nword((yyvsp[(5) - (7)].
str), &(yylsp[(5) - (7)]));
2746 break;
2747
2748 case 55:
2749
2750
2751#line 342 "ael.y"
2753 break;
2754
2755 case 56:
2756
2757
2758#line 342 "ael.y"
2759 { (yyval.
str) = (yyvsp[(3) - (4)].
str); }
2760 break;
2761
2762 case 57:
2763
2764
2765#line 346 "ael.y"
2766 {
2767 (yyval.
pval)=
npval2(
PV_IF, &(yylsp[(1) - (2)]), &(yylsp[(2) - (2)]));
2768 (yyval.
pval)->u1.
str = (yyvsp[(2) - (2)].
str); }
2769 break;
2770
2771 case 58:
2772
2773
2774#line 349 "ael.y"
2775 {
2777 (yyval.
pval)->u1.
str=(yyvsp[(2) - (2)].
str);}
2778 break;
2779
2780 case 59:
2781
2782
2783#line 352 "ael.y"
2784 {
2788 break;
2789
2790 case 60:
2791
2792
2793#line 363 "ael.y"
2794 { (yyval.
str) = (yyvsp[(1) - (1)].
str);}
2795 break;
2796
2797 case 61:
2798
2799
2800#line 364 "ael.y"
2801 {
2802 if (
asprintf(&((yyval.
str)),
"%s%s", (yyvsp[(1) - (2)].
str), (yyvsp[(2) - (2)].
str)) < 0) {
2805 } else {
2809 }
2810 }
2811 break;
2812
2813 case 62:
2814
2815
2816#line 376 "ael.y"
2817 { (yyval.
str) = (yyvsp[(1) - (1)].
str); }
2818 break;
2819
2820 case 63:
2821
2822
2823#line 377 "ael.y"
2824 {
2825 if (
asprintf(&((yyval.
str)),
"%s %s", (yyvsp[(1) - (2)].
str), (yyvsp[(2) - (2)].
str)) < 0) {
2828 } else {
2831 }
2832 }
2833 break;
2834
2835 case 64:
2836
2837
2838#line 386 "ael.y"
2839 {
2840 if (
asprintf(&((yyval.
str)),
"%s:%s", (yyvsp[(1) - (3)].str), (yyvsp[(3) - (3)].str)) < 0) {
2843 } else {
2846 }
2847 }
2848 break;
2849
2850 case 65:
2851
2852
2853#line 395 "ael.y"
2854 {
2855 if (
asprintf(&((yyval.
str)),
"%s&%s", (yyvsp[(1) - (3)].str), (yyvsp[(3) - (3)].str)) < 0) {
2858 } else {
2861 }
2862 }
2863 break;
2864
2865 case 66:
2866
2867
2868#line 404 "ael.y"
2869 {
2870 if (
asprintf(&((yyval.
str)),
"%s@%s", (yyvsp[(1) - (3)].str), (yyvsp[(3) - (3)].str)) < 0) {
2873 } else {
2876 }
2877 }
2878 break;
2879
2880 case 67:
2881
2882
2883#line 415 "ael.y"
2884 { (yyval.
str) = (yyvsp[(1) - (1)].
str);}
2885 break;
2886
2887 case 68:
2888
2889
2890#line 416 "ael.y"
2891 {
2892 if (
asprintf(&((yyval.
str)),
"%s%s", (yyvsp[(1) - (2)].
str), (yyvsp[(2) - (2)].
str)) < 0) {
2895 } else {
2899 }
2900 }
2901 break;
2902
2903 case 69:
2904
2905
2906#line 426 "ael.y"
2907 {
2908 if (
asprintf(&((yyval.
str)),
"%s%s%s", (yyvsp[(1) - (3)].str), (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str)) < 0) {
2911 } else {
2916 }
2917 }
2918 break;
2919
2920 case 70:
2921
2922
2923#line 439 "ael.y"
2924 { (yyval.
str) = (yyvsp[(1) - (1)].
str);}
2925 break;
2926
2927 case 71:
2928
2929
2930#line 440 "ael.y"
2931 {
2932 if (
asprintf(&((yyval.
str)),
"%s%s", (yyvsp[(1) - (2)].
str), (yyvsp[(2) - (2)].
str)) < 0) {
2935 } else {
2938 }
2939 }
2940 break;
2941
2942 case 72:
2943
2944
2945#line 449 "ael.y"
2946 {
2947 if (
asprintf(&((yyval.
str)),
"%s:%s", (yyvsp[(1) - (3)].str), (yyvsp[(3) - (3)].str)) < 0) {
2950 } else {
2953 }
2954 }
2955 break;
2956
2957 case 73:
2958
2959
2960#line 460 "ael.y"
2961 {
2963 (yyval.
pval)->u1.
str = (yyvsp[(2) - (5)].
str);
2964 (yyval.
pval)->u2.statements = (yyvsp[(4) - (5)].
pval);
set_dads((yyval.
pval),(yyvsp[(4) - (5)].pval));}
2965 break;
2966
2967 case 74:
2968
2969
2970#line 469 "ael.y"
2971 {
2974 break;
2975
2976 case 75:
2977
2978
2979#line 472 "ael.y"
2980 { (yyval.
pval) = (yyvsp[(1) - (1)].
pval); }
2981 break;
2982
2983 case 76:
2984
2985
2986#line 473 "ael.y"
2987 { (yyval.
pval) = (yyvsp[(1) - (1)].
pval); }
2988 break;
2989
2990 case 77:
2991
2992
2993#line 474 "ael.y"
2994 {
2997 break;
2998
2999 case 78:
3000
3001
3002#line 477 "ael.y"
3003 {
3006 break;
3007
3008 case 79:
3009
3010
3011#line 480 "ael.y"
3012 {
3014 (yyval.
pval)->u1.
str = (yyvsp[(1) - (2)].
str); }
3015 break;
3016
3017 case 80:
3018
3019
3020#line 483 "ael.y"
3022 break;
3023
3024 case 81:
3025
3026
3027#line 484 "ael.y"
3029 break;
3030
3031 case 82:
3032
3033
3034#line 485 "ael.y"
3036 break;
3037
3038 case 83:
3039
3040
3041#line 485 "ael.y"
3042 {
3043 (yyval.
pval) =
npval2(
PV_FOR, &(yylsp[(1) - (12)]), &(yylsp[(12) - (12)]));
3045 (yyval.
pval)->u2.for_test=(yyvsp[(7) - (12)].
str);
3046 (yyval.
pval)->u3.for_inc = (yyvsp[(10) - (12)].
str);
3047 (yyval.
pval)->u4.for_statements = (yyvsp[(12) - (12)].
pval);
set_dads((yyval.
pval),(yyvsp[(12) - (12)].pval));}
3048 break;
3049
3050 case 84:
3051
3052
3053#line 491 "ael.y"
3054 {
3056 (yyval.
pval)->u1.
str = (yyvsp[(2) - (3)].
str);
3057 (yyval.
pval)->u2.statements = (yyvsp[(3) - (3)].
pval);
set_dads((yyval.
pval),(yyvsp[(3) - (3)].pval));}
3058 break;
3059
3060 case 85:
3061
3062
3063#line 495 "ael.y"
3064 { (yyval.
pval) = (yyvsp[(1) - (1)].
pval); }
3065 break;
3066
3067 case 86:
3068
3069
3070#line 496 "ael.y"
3072 break;
3073
3074 case 87:
3075
3076
3077#line 497 "ael.y"
3079 break;
3080
3081 case 88:
3082
3083
3084#line 498 "ael.y"
3085 {
3087 (yyval.
pval)->u1.
str = (yyvsp[(1) - (2)].
str);}
3088 break;
3089
3090 case 89:
3091
3092
3093#line 501 "ael.y"
3095 break;
3096
3097 case 90:
3098
3099
3100#line 501 "ael.y"
3101 {
3102 char *bufx;
3103 int tot=0;
3107
3108
3109 tot+=strlen((yyvsp[(1) - (5)].
pval)->u1.str);
3110 for(pptr=(yyvsp[(1) - (5)].
pval)->u2.arglist;pptr;pptr=pptr->
next) {
3111 tot+=strlen(pptr->
u1.
str);
3112 tot++;
3113 }
3114 tot+=4;
3116 strcpy(bufx,(yyvsp[(1) - (5)].
pval)->u1.str);
3117 strcat(bufx,"(");
3118
3119 for (pptr=(yyvsp[(1) - (5)].
pval)->u2.arglist;pptr;pptr=pptr->
next) {
3120 if ( pptr != (yyvsp[(1) - (5)].
pval)->u2.arglist )
3121 strcat(bufx,",");
3122 strcat(bufx,pptr->
u1.
str);
3123 }
3124 strcat(bufx,")");
3125#ifdef AAL_ARGCHECK
3126 if ( !ael_is_funcname((yyvsp[(1) - (5)].
pval)->u1.str) )
3127 ast_log(
LOG_WARNING,
"==== File: %s, Line %d, Cols: %d-%d: Function call? The name %s is not in my internal list of function names\n",
3128 my_file, (yylsp[(1) - (5)]).first_line, (yylsp[(1) - (5)]).first_column, (yylsp[(1) - (5)]).last_column, (yyvsp[(1) - (5)].
pval)->u1.str);
3129#endif
3130 (yyval.
pval)->u1.str = bufx;
3133 }
3134 break;
3135
3136 case 91:
3137
3138
3139#line 534 "ael.y"
3141 break;
3142
3143 case 92:
3144
3145
3146#line 535 "ael.y"
3148 break;
3149
3150 case 93:
3151
3152
3153#line 536 "ael.y"
3155 break;
3156
3157 case 94:
3158
3159
3160#line 537 "ael.y"
3161 {
3164 (yyval.
pval)->u3.else_statements = (yyvsp[(3) - (3)].
pval);
set_dads((yyval.
pval),(yyvsp[(3) - (3)].pval));}
3165 break;
3166
3167 case 95:
3168
3169
3170#line 541 "ael.y"
3172 break;
3173
3174 case 96:
3175
3176
3177#line 544 "ael.y"
3178 { (yyval.
pval) = (yyvsp[(2) - (2)].
pval); }
3179 break;
3180
3181 case 97:
3182
3183
3184#line 545 "ael.y"
3186 break;
3187
3188 case 98:
3189
3190
3191#line 548 "ael.y"
3192 { (yyval.
pval) =
nword((yyvsp[(1) - (1)].
str), &(yylsp[(1) - (1)])); }
3193 break;
3194
3195 case 99:
3196
3197
3198#line 549 "ael.y"
3199 {
3200 (yyval.
pval) =
nword((yyvsp[(1) - (3)].
str), &(yylsp[(1) - (3)]));
3201 (yyval.
pval)->next =
nword((yyvsp[(3) - (3)].
str), &(yylsp[(3) - (3)])); }
3202 break;
3203
3204 case 100:
3205
3206
3207#line 552 "ael.y"
3208 {
3209 (yyval.
pval) =
nword((yyvsp[(1) - (3)].
str), &(yylsp[(1) - (3)]));
3210 (yyval.
pval)->next =
nword((yyvsp[(3) - (3)].
str), &(yylsp[(3) - (3)])); }
3211 break;
3212
3213 case 101:
3214
3215
3216#line 555 "ael.y"
3217 {
3218 (yyval.
pval) =
nword((yyvsp[(1) - (5)].
str), &(yylsp[(1) - (5)]));
3219 (yyval.
pval)->next =
nword((yyvsp[(3) - (5)].
str), &(yylsp[(3) - (5)]));
3220 (yyval.
pval)->next->
next =
nword((yyvsp[(5) - (5)].
str), &(yylsp[(5) - (5)])); }
3221 break;
3222
3223 case 102:
3224
3225
3226#line 559 "ael.y"
3227 {
3228 (yyval.
pval) =
nword((yyvsp[(1) - (5)].
str), &(yylsp[(1) - (5)]));
3229 (yyval.
pval)->next =
nword((yyvsp[(3) - (5)].
str), &(yylsp[(3) - (5)]));
3230 (yyval.
pval)->next->
next =
nword((yyvsp[(5) - (5)].
str), &(yylsp[(5) - (5)])); }
3231 break;
3232
3233 case 103:
3234
3235
3236#line 563 "ael.y"
3237 {
3239 (yyval.
pval)->next =
nword((yyvsp[(3) - (5)].
str), &(yylsp[(3) - (5)]));
3240 (yyval.
pval)->next->
next =
nword((yyvsp[(5) - (5)].
str), &(yylsp[(5) - (5)])); }
3241 break;
3242
3243 case 104:
3244
3245
3246#line 567 "ael.y"
3247 {
3249 (yyval.
pval)->next =
nword((yyvsp[(3) - (5)].
str), &(yylsp[(3) - (5)]));
3250 (yyval.
pval)->next->
next =
nword((yyvsp[(5) - (5)].
str), &(yylsp[(5) - (5)])); }
3251 break;
3252
3253 case 105:
3254
3255
3256#line 573 "ael.y"
3258 break;
3259
3260 case 106:
3261
3262
3263#line 574 "ael.y"
3264 { (yyval.
str) = (yyvsp[(2) - (2)].
str); }
3265 break;
3266
3267 case 107:
3268
3269
3270#line 578 "ael.y"
3271 {
3272 (yyval.
pval) =
nword((yyvsp[(1) - (2)].
str), &(yylsp[(1) - (2)]));
3273 (yyval.
pval)->next =
nword((yyvsp[(2) - (2)].
str), &(yylsp[(2) - (2)])); }
3274 break;
3275
3276 case 108:
3277
3278
3279#line 581 "ael.y"
3280 {
3281 (yyval.
pval) =
nword((yyvsp[(4) - (4)].
str), &(yylsp[(4) - (4)]));
3282 (yyval.
pval)->next =
nword((yyvsp[(1) - (4)].
str), &(yylsp[(1) - (4)]));
3283 (yyval.
pval)->next->
next =
nword((yyvsp[(2) - (4)].
str), &(yylsp[(2) - (4)])); }
3284 break;
3285
3286 case 109:
3287
3288
3289#line 587 "ael.y"
3291 break;
3292
3293 case 110:
3294
3295
3296#line 587 "ael.y"
3297 {
3298
3300 (yyval.
pval)->u1.
str = (yyvsp[(1) - (5)].
str);
3301 (yyval.
pval)->u2.arglist = (yyvsp[(4) - (5)].
pval);}
3302 break;
3303
3304 case 111:
3305
3306
3307#line 592 "ael.y"
3308 {
3310 (yyval.
pval)->u1.
str = (yyvsp[(1) - (3)].
str); }
3311 break;
3312
3313 case 112:
3314
3315
3316#line 600 "ael.y"
3318 break;
3319
3320 case 113:
3321
3322
3323#line 600 "ael.y"
3324 {
3325 if (strcasecmp((yyvsp[(1) - (3)].
str),
"goto") == 0) {
3328 ast_log(
LOG_WARNING,
"==== File: %s, Line %d, Cols: %d-%d: Suggestion: Use the goto statement instead of the Goto() application call in AEL.\n",
my_file, (yylsp[(1) - (3)]).first_line, (yylsp[(1) - (3)]).first_column, (yylsp[(1) - (3)]).last_column );
3329 } else {
3331 (yyval.
pval)->u1.
str = (yyvsp[(1) - (3)].
str);
3332 } }
3333 break;
3334
3335 case 114:
3336
3337
3338#line 611 "ael.y"
3339 {
3343 else
3345 }
3346 break;
3347
3348 case 115:
3349
3350
3351#line 618 "ael.y"
3353 break;
3354
3355 case 116:
3356
3357
3358#line 621 "ael.y"
3359 { (yyval.
str) = (yyvsp[(1) - (1)].
str) ;}
3360 break;
3361
3362 case 117:
3363
3364
3365#line 622 "ael.y"
3367 break;
3368
3369 case 118:
3370
3371
3372#line 625 "ael.y"
3373 { (yyval.
pval) =
nword((yyvsp[(1) - (1)].
str), &(yylsp[(1) - (1)])); }
3374 break;
3375
3376 case 119:
3377
3378
3379#line 626 "ael.y"
3380 {
3383 break;
3384
3385 case 120:
3386
3387
3388#line 629 "ael.y"
3390 break;
3391
3392 case 121:
3393
3394
3395#line 632 "ael.y"
3397 break;
3398
3399 case 122:
3400
3401
3402#line 633 "ael.y"
3404 break;
3405
3406 case 123:
3407
3408
3409#line 636 "ael.y"
3410 {
3412 (yyval.
pval)->u1.
str = (yyvsp[(2) - (4)].
str);
3413 (yyval.
pval)->u2.statements = (yyvsp[(4) - (4)].
pval);
set_dads((yyval.
pval),(yyvsp[(4) - (4)].pval));}
3414 break;
3415
3416 case 124:
3417
3418
3419#line 640 "ael.y"
3420 {
3423 (yyval.
pval)->u2.statements = (yyvsp[(3) - (3)].
pval);
set_dads((yyval.
pval),(yyvsp[(3) - (3)].pval));}
3424 break;
3425
3426 case 125:
3427
3428
3429#line 644 "ael.y"
3430 {
3432 (yyval.
pval)->u1.
str = (yyvsp[(2) - (4)].
str);
3433 (yyval.
pval)->u2.statements = (yyvsp[(4) - (4)].
pval);
set_dads((yyval.
pval),(yyvsp[(4) - (4)].pval));}
3434 break;
3435
3436 case 126:
3437
3438
3439#line 650 "ael.y"
3441 break;
3442
3443 case 127:
3444
3445
3446#line 651 "ael.y"
3448 break;
3449
3450 case 128:
3451
3452
3453#line 654 "ael.y"
3454 {(yyval.
pval)=(yyvsp[(1) - (1)].
pval);}
3455 break;
3456
3457 case 129:
3458
3459
3460#line 655 "ael.y"
3461 { (yyval.
pval)=(yyvsp[(1) - (1)].
pval);}
3462 break;
3463
3464 case 130:
3465
3466
3467#line 656 "ael.y"
3468 {
3470 (yyval.
pval)->u1.
str = (yyvsp[(2) - (5)].
str);
3471 (yyval.
pval)->u2.statements = (yyvsp[(4) - (5)].
pval);
set_dads((yyval.
pval),(yyvsp[(4) - (5)].pval));}
3472 break;
3473
3474 case 131:
3475
3476
3477#line 662 "ael.y"
3478 {
3481 break;
3482
3483 case 132:
3484
3485
3486#line 667 "ael.y"
3487 {
3490 break;
3491
3492 case 133:
3493
3494
3495#line 672 "ael.y"
3497 break;
3498
3499 case 134:
3500
3501
3502#line 673 "ael.y"
3504 break;
3505
3506 case 135:
3507
3508
3509#line 674 "ael.y"
3510 {
3511 char *x;
3512 if (
asprintf(&x,
"%s@%s", (yyvsp[(2) - (5)].
str), (yyvsp[(4) - (5)].
str)) < 0) {
3515 } else {
3519 }
3520 }
3521 break;
3522
3523 case 136:
3524
3525
3526#line 685 "ael.y"
3527 {(yyval.
pval)=(yyvsp[(2) - (2)].
pval);}
3528 break;
3529
3530 case 137:
3531
3532
3533#line 688 "ael.y"
3534 { (yyval.
pval) =
nword((yyvsp[(1) - (1)].
str), &(yylsp[(1) - (1)])); }
3535 break;
3536
3537 case 138:
3538
3539
3540#line 689 "ael.y"
3541 {
3542 (yyval.
pval) =
nword((yyvsp[(1) - (3)].
str), &(yylsp[(1) - (3)]));
3545 break;
3546
3547 case 139:
3548
3549
3550#line 696 "ael.y"
3551 { (yyval.
pval) = (yyvsp[(1) - (2)].
pval); }
3552 break;
3553
3554 case 140:
3555
3556
3557#line 697 "ael.y"
3559 break;
3560
3561 case 141:
3562
3563
3564#line 698 "ael.y"
3565 {(yyval.
pval)=(yyvsp[(1) - (2)].
pval);}
3566 break;
3567
3568 case 142:
3569
3570
3571#line 701 "ael.y"
3572 {
3575 break;
3576
3577 case 143:
3578
3579
3580#line 704 "ael.y"
3581 {
3583 break;
3584
3585
3586
3587
3588#line 3589 "ael.tab.c"
3589 default: break;
3590 }
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3603
3605 yylen = 0;
3607
3608 *++yyvsp = yyval;
3609 *++yylsp = yyloc;
3610
3611
3612
3613
3614
3616
3618 if (0 <= yystate && yystate <=
YYLAST &&
yycheck[yystate] == *yyssp)
3620 else
3622
3623 goto yynewstate;
3624
3625
3626
3627
3628
3629yyerrlab:
3630
3631
3633
3634
3635 if (!yyerrstatus)
3636 {
3638#if ! YYERROR_VERBOSE
3640#else
3641# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
3642 yyssp, yytoken)
3643 {
3644 char const *yymsgp =
YY_(
"syntax error");
3645 int yysyntax_error_status;
3647 if (yysyntax_error_status == 0)
3648 yymsgp = yymsg;
3649 else if (yysyntax_error_status == 1)
3650 {
3651 if (yymsg != yymsgbuf)
3654 if (!yymsg)
3655 {
3656 yymsg = yymsgbuf;
3657 yymsg_alloc = sizeof yymsgbuf;
3658 yysyntax_error_status = 2;
3659 }
3660 else
3661 {
3663 yymsgp = yymsg;
3664 }
3665 }
3667 if (yysyntax_error_status == 2)
3668 goto yyexhaustedlab;
3669 }
3670# undef YYSYNTAX_ERROR
3671#endif
3672 }
3673
3674 yyerror_range[1] =
yylloc;
3675
3676 if (yyerrstatus == 3)
3677 {
3678
3679
3680
3682 {
3683
3686 }
3687 else
3688 {
3692 }
3693 }
3694
3695
3696
3697 goto yyerrlab1;
3698
3699
3700
3701
3702
3703yyerrorlab:
3704
3705
3706
3707
3708 if ( 0)
3709 goto yyerrorlab;
3710
3711 yyerror_range[1] = yylsp[1-yylen];
3712
3713
3715 yylen = 0;
3717 yystate = *yyssp;
3718 goto yyerrlab1;
3719
3720
3721
3722
3723
3724yyerrlab1:
3725 yyerrstatus = 3;
3726
3727 for (;;)
3728 {
3731 {
3734 {
3736 if (0 < yyn)
3737 break;
3738 }
3739 }
3740
3741
3742 if (yyssp == yyss)
3744
3745 yyerror_range[1] = *yylsp;
3747 yystos[yystate], yyvsp, yylsp, parseio);
3749 yystate = *yyssp;
3751 }
3752
3754
3755 yyerror_range[2] =
yylloc;
3756
3757
3759 *++yylsp = yyloc;
3760
3761
3763
3764 yystate = yyn;
3765 goto yynewstate;
3766
3767
3768
3769
3770
3771yyacceptlab:
3772 yyresult = 0;
3773 goto yyreturn;
3774
3775
3776
3777
3778yyabortlab:
3779 yyresult = 1;
3780 goto yyreturn;
3781
3782#if !defined(yyoverflow) || YYERROR_VERBOSE
3783
3784
3785
3786yyexhaustedlab:
3788 yyresult = 2;
3789
3790#endif
3791
3792yyreturn:
3794 {
3795
3796
3800 }
3801
3802
3805 while (yyssp != yyss)
3806 {
3808 yystos[*yyssp], yyvsp, yylsp, parseio);
3810 }
3811#ifndef yyoverflow
3812 if (yyss != yyssa)
3814#endif
3815#if YYERROR_VERBOSE
3816 if (yymsg != yymsgbuf)
3818#endif
3819
3820 return YYID (yyresult);
3821}
static const yytype_uint8 yyr1[]
void reset_semicount(yyscan_t yyscanner)
#define yypact_value_is_default(yystate)
static pval * update_last(pval *, YYLTYPE *)
#define YYLLOC_DEFAULT(Current, Rhs, N)
static const yytype_int16 yydefgoto[]
#define YY_REDUCE_PRINT(Rule)
static const yytype_int16 yypact[]
static const yytype_uint16 yycheck[]
static void yydestruct(char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocationp, struct parse_io *parseio) const
pval * linku1(pval *head, pval *tail)
static const yytype_int16 yypgoto[]
#define YY_STACK_PRINT(Bottom, Top)
static void set_dads(pval *dad, pval *child_list)
static const yytype_int16 yytable[]
static const yytype_uint8 yyr2[]
void reset_argcount(yyscan_t yyscanner)
static const yytype_uint8 yystos[]
#define yytable_value_is_error(yytable_value)
static pval * nword(char *string, YYLTYPE *pos)
void reset_parencount(yyscan_t yyscanner)
#define YYSTACK_RELOCATE(Stack_alloc, Stack)
static const yytype_uint8 yydefact[]
int asprintf(char **str, const char *fmt,...)