From 85ea0974f8c082927c1267e753d83d59426c69c4 Mon Sep 17 00:00:00 2001 From: Luigi Rizzo Date: Thu, 27 Apr 2006 20:23:49 +0000 Subject: always call the destructor git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@22989 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- pbx/ael/ael.tab.c | 519 +++++++++++++++++++++++++++++------------------------- pbx/ael/ael.y | 3 +- 2 files changed, 278 insertions(+), 244 deletions(-) (limited to 'pbx/ael') diff --git a/pbx/ael/ael.tab.c b/pbx/ael/ael.tab.c index 627592215..74183c8ac 100644 --- a/pbx/ael/ael.tab.c +++ b/pbx/ael/ael.tab.c @@ -561,22 +561,22 @@ static const yysigned_char yyrhs[] = /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const unsigned short int yyrline[] = { - 0, 160, 160, 163, 164, 175, 178, 179, 180, 181, - 184, 188, 191, 195, 198, 203, 207, 212, 218, 221, - 224, 227, 232, 235, 240, 241, 242, 245, 245, 251, - 254, 259, 262, 263, 264, 267, 270, 271, 272, 273, - 274, 275, 275, 279, 280, 283, 288, 292, 297, 302, - 311, 312, 315, 318, 318, 323, 323, 328, 344, 364, - 365, 372, 373, 378, 386, 387, 391, 397, 397, 405, - 408, 408, 412, 415, 418, 421, 422, 423, 421, 429, - 429, 433, 437, 442, 446, 450, 453, 453, 486, 488, - 490, 492, 497, 503, 508, 514, 519, 525, 528, 529, - 534, 539, 546, 553, 560, 569, 574, 579, 586, 593, - 600, 609, 609, 614, 619, 619, 629, 635, 638, 641, - 644, 649, 656, 657, 662, 666, 670, 674, 677, 680, - 685, 686, 691, 692, 695, 696, 699, 700, 703, 704, - 705, 708, 709, 725, 738, 739, 754, 767, 770, 771, - 774, 777 + 0, 161, 161, 164, 165, 176, 179, 180, 181, 182, + 185, 189, 192, 196, 199, 204, 208, 213, 219, 222, + 225, 228, 233, 236, 241, 242, 243, 246, 246, 252, + 255, 260, 263, 264, 265, 268, 271, 272, 273, 274, + 275, 276, 276, 280, 281, 284, 289, 293, 298, 303, + 312, 313, 316, 319, 319, 324, 324, 329, 345, 365, + 366, 373, 374, 379, 387, 388, 392, 398, 398, 406, + 409, 409, 413, 416, 419, 422, 423, 424, 422, 430, + 430, 434, 438, 443, 447, 451, 454, 454, 487, 489, + 491, 493, 498, 504, 509, 515, 520, 526, 529, 530, + 535, 540, 547, 554, 561, 570, 575, 580, 587, 594, + 601, 610, 610, 615, 620, 620, 630, 636, 639, 642, + 645, 650, 657, 658, 663, 667, 671, 675, 678, 681, + 686, 687, 692, 693, 696, 697, 700, 701, 704, 705, + 706, 709, 710, 726, 739, 740, 755, 768, 771, 772, + 775, 778 }; #endif @@ -1313,425 +1313,458 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp) switch (yytype) { case 41: /* "word" */ -#line 155 "ael.y" +#line 156 "ael.y" { free((yyvaluep->str));}; #line 1319 "ael.tab.c" break; case 44: /* "objects" */ #line 140 "ael.y" { - if (yymsg[0] != 'C') { + /* XXX i think the destructor must be called always */ + if (1 /* yymsg[0] != 'C' */) { destroy_pval((yyvaluep->pval)); prev_word=0; } else { printf("Cleanup destructor called for pvals\n"); } }; -#line 1331 "ael.tab.c" +#line 1332 "ael.tab.c" break; case 45: /* "object" */ #line 140 "ael.y" { - if (yymsg[0] != 'C') { + /* XXX i think the destructor must be called always */ + if (1 /* yymsg[0] != 'C' */) { destroy_pval((yyvaluep->pval)); prev_word=0; } else { printf("Cleanup destructor called for pvals\n"); } }; -#line 1343 "ael.tab.c" +#line 1345 "ael.tab.c" break; case 46: /* "context" */ #line 140 "ael.y" { - if (yymsg[0] != 'C') { + /* XXX i think the destructor must be called always */ + if (1 /* yymsg[0] != 'C' */) { destroy_pval((yyvaluep->pval)); prev_word=0; } else { printf("Cleanup destructor called for pvals\n"); } }; -#line 1355 "ael.tab.c" +#line 1358 "ael.tab.c" break; case 47: /* "macro" */ #line 140 "ael.y" { - if (yymsg[0] != 'C') { + /* XXX i think the destructor must be called always */ + if (1 /* yymsg[0] != 'C' */) { destroy_pval((yyvaluep->pval)); prev_word=0; } else { printf("Cleanup destructor called for pvals\n"); } }; -#line 1367 "ael.tab.c" +#line 1371 "ael.tab.c" break; case 48: /* "globals" */ #line 140 "ael.y" { - if (yymsg[0] != 'C') { + /* XXX i think the destructor must be called always */ + if (1 /* yymsg[0] != 'C' */) { destroy_pval((yyvaluep->pval)); prev_word=0; } else { printf("Cleanup destructor called for pvals\n"); } }; -#line 1379 "ael.tab.c" +#line 1384 "ael.tab.c" break; case 49: /* "global_statements" */ #line 140 "ael.y" { - if (yymsg[0] != 'C') { + /* XXX i think the destructor must be called always */ + if (1 /* yymsg[0] != 'C' */) { destroy_pval((yyvaluep->pval)); prev_word=0; } else { printf("Cleanup destructor called for pvals\n"); } }; -#line 1391 "ael.tab.c" +#line 1397 "ael.tab.c" break; case 50: /* "global_statement" */ #line 140 "ael.y" { - if (yymsg[0] != 'C') { + /* XXX i think the destructor must be called always */ + if (1 /* yymsg[0] != 'C' */) { destroy_pval((yyvaluep->pval)); prev_word=0; } else { printf("Cleanup destructor called for pvals\n"); } }; -#line 1403 "ael.tab.c" +#line 1410 "ael.tab.c" break; case 52: /* "arglist" */ #line 140 "ael.y" { - if (yymsg[0] != 'C') { + /* XXX i think the destructor must be called always */ + if (1 /* yymsg[0] != 'C' */) { destroy_pval((yyvaluep->pval)); prev_word=0; } else { printf("Cleanup destructor called for pvals\n"); } }; -#line 1415 "ael.tab.c" +#line 1423 "ael.tab.c" break; case 53: /* "elements" */ #line 140 "ael.y" { - if (yymsg[0] != 'C') { + /* XXX i think the destructor must be called always */ + if (1 /* yymsg[0] != 'C' */) { destroy_pval((yyvaluep->pval)); prev_word=0; } else { printf("Cleanup destructor called for pvals\n"); } }; -#line 1427 "ael.tab.c" +#line 1436 "ael.tab.c" break; case 54: /* "element" */ #line 140 "ael.y" { - if (yymsg[0] != 'C') { + /* XXX i think the destructor must be called always */ + if (1 /* yymsg[0] != 'C' */) { destroy_pval((yyvaluep->pval)); prev_word=0; } else { printf("Cleanup destructor called for pvals\n"); } }; -#line 1439 "ael.tab.c" +#line 1449 "ael.tab.c" break; case 56: /* "ignorepat" */ #line 140 "ael.y" { - if (yymsg[0] != 'C') { + /* XXX i think the destructor must be called always */ + if (1 /* yymsg[0] != 'C' */) { destroy_pval((yyvaluep->pval)); prev_word=0; } else { printf("Cleanup destructor called for pvals\n"); } }; -#line 1451 "ael.tab.c" +#line 1462 "ael.tab.c" break; case 57: /* "extension" */ #line 140 "ael.y" { - if (yymsg[0] != 'C') { + /* XXX i think the destructor must be called always */ + if (1 /* yymsg[0] != 'C' */) { destroy_pval((yyvaluep->pval)); prev_word=0; } else { printf("Cleanup destructor called for pvals\n"); } }; -#line 1463 "ael.tab.c" +#line 1475 "ael.tab.c" break; case 58: /* "statements" */ #line 140 "ael.y" { - if (yymsg[0] != 'C') { + /* XXX i think the destructor must be called always */ + if (1 /* yymsg[0] != 'C' */) { destroy_pval((yyvaluep->pval)); prev_word=0; } else { printf("Cleanup destructor called for pvals\n"); } }; -#line 1475 "ael.tab.c" +#line 1488 "ael.tab.c" break; case 59: /* "if_head" */ #line 140 "ael.y" { - if (yymsg[0] != 'C') { + /* XXX i think the destructor must be called always */ + if (1 /* yymsg[0] != 'C' */) { destroy_pval((yyvaluep->pval)); prev_word=0; } else { printf("Cleanup destructor called for pvals\n"); } }; -#line 1487 "ael.tab.c" +#line 1501 "ael.tab.c" break; case 61: /* "random_head" */ #line 140 "ael.y" { - if (yymsg[0] != 'C') { + /* XXX i think the destructor must be called always */ + if (1 /* yymsg[0] != 'C' */) { destroy_pval((yyvaluep->pval)); prev_word=0; } else { printf("Cleanup destructor called for pvals\n"); } }; -#line 1499 "ael.tab.c" +#line 1514 "ael.tab.c" break; case 63: /* "iftime_head" */ #line 140 "ael.y" { - if (yymsg[0] != 'C') { + /* XXX i think the destructor must be called always */ + if (1 /* yymsg[0] != 'C' */) { destroy_pval((yyvaluep->pval)); prev_word=0; } else { printf("Cleanup destructor called for pvals\n"); } }; -#line 1511 "ael.tab.c" +#line 1527 "ael.tab.c" break; case 64: /* "word_list" */ -#line 155 "ael.y" +#line 156 "ael.y" { free((yyvaluep->str));}; -#line 1516 "ael.tab.c" +#line 1532 "ael.tab.c" break; case 65: /* "word3_list" */ -#line 155 "ael.y" +#line 156 "ael.y" { free((yyvaluep->str));}; -#line 1521 "ael.tab.c" +#line 1537 "ael.tab.c" break; case 66: /* "goto_word" */ -#line 155 "ael.y" +#line 156 "ael.y" { free((yyvaluep->str));}; -#line 1526 "ael.tab.c" +#line 1542 "ael.tab.c" break; case 67: /* "switch_head" */ #line 140 "ael.y" { - if (yymsg[0] != 'C') { + /* XXX i think the destructor must be called always */ + if (1 /* yymsg[0] != 'C' */) { destroy_pval((yyvaluep->pval)); prev_word=0; } else { printf("Cleanup destructor called for pvals\n"); } }; -#line 1538 "ael.tab.c" +#line 1555 "ael.tab.c" break; case 69: /* "statement" */ #line 140 "ael.y" { - if (yymsg[0] != 'C') { + /* XXX i think the destructor must be called always */ + if (1 /* yymsg[0] != 'C' */) { destroy_pval((yyvaluep->pval)); prev_word=0; } else { printf("Cleanup destructor called for pvals\n"); } }; -#line 1550 "ael.tab.c" +#line 1568 "ael.tab.c" break; case 76: /* "target" */ #line 140 "ael.y" { - if (yymsg[0] != 'C') { + /* XXX i think the destructor must be called always */ + if (1 /* yymsg[0] != 'C' */) { destroy_pval((yyvaluep->pval)); prev_word=0; } else { printf("Cleanup destructor called for pvals\n"); } }; -#line 1562 "ael.tab.c" +#line 1581 "ael.tab.c" break; case 77: /* "jumptarget" */ #line 140 "ael.y" { - if (yymsg[0] != 'C') { + /* XXX i think the destructor must be called always */ + if (1 /* yymsg[0] != 'C' */) { destroy_pval((yyvaluep->pval)); prev_word=0; } else { printf("Cleanup destructor called for pvals\n"); } }; -#line 1574 "ael.tab.c" +#line 1594 "ael.tab.c" break; case 78: /* "macro_call" */ #line 140 "ael.y" { - if (yymsg[0] != 'C') { + /* XXX i think the destructor must be called always */ + if (1 /* yymsg[0] != 'C' */) { destroy_pval((yyvaluep->pval)); prev_word=0; } else { printf("Cleanup destructor called for pvals\n"); } }; -#line 1586 "ael.tab.c" +#line 1607 "ael.tab.c" break; case 80: /* "application_call_head" */ #line 140 "ael.y" { - if (yymsg[0] != 'C') { + /* XXX i think the destructor must be called always */ + if (1 /* yymsg[0] != 'C' */) { destroy_pval((yyvaluep->pval)); prev_word=0; } else { printf("Cleanup destructor called for pvals\n"); } }; -#line 1598 "ael.tab.c" +#line 1620 "ael.tab.c" break; case 82: /* "application_call" */ #line 140 "ael.y" { - if (yymsg[0] != 'C') { + /* XXX i think the destructor must be called always */ + if (1 /* yymsg[0] != 'C' */) { destroy_pval((yyvaluep->pval)); prev_word=0; } else { printf("Cleanup destructor called for pvals\n"); } }; -#line 1610 "ael.tab.c" +#line 1633 "ael.tab.c" break; case 83: /* "eval_arglist" */ #line 140 "ael.y" { - if (yymsg[0] != 'C') { + /* XXX i think the destructor must be called always */ + if (1 /* yymsg[0] != 'C' */) { destroy_pval((yyvaluep->pval)); prev_word=0; } else { printf("Cleanup destructor called for pvals\n"); } }; -#line 1622 "ael.tab.c" +#line 1646 "ael.tab.c" break; case 84: /* "case_statements" */ #line 140 "ael.y" { - if (yymsg[0] != 'C') { + /* XXX i think the destructor must be called always */ + if (1 /* yymsg[0] != 'C' */) { destroy_pval((yyvaluep->pval)); prev_word=0; } else { printf("Cleanup destructor called for pvals\n"); } }; -#line 1634 "ael.tab.c" +#line 1659 "ael.tab.c" break; case 85: /* "case_statement" */ #line 140 "ael.y" { - if (yymsg[0] != 'C') { + /* XXX i think the destructor must be called always */ + if (1 /* yymsg[0] != 'C' */) { destroy_pval((yyvaluep->pval)); prev_word=0; } else { printf("Cleanup destructor called for pvals\n"); } }; -#line 1646 "ael.tab.c" +#line 1672 "ael.tab.c" break; case 86: /* "macro_statements" */ #line 140 "ael.y" { - if (yymsg[0] != 'C') { + /* XXX i think the destructor must be called always */ + if (1 /* yymsg[0] != 'C' */) { destroy_pval((yyvaluep->pval)); prev_word=0; } else { printf("Cleanup destructor called for pvals\n"); } }; -#line 1658 "ael.tab.c" +#line 1685 "ael.tab.c" break; case 87: /* "macro_statement" */ #line 140 "ael.y" { - if (yymsg[0] != 'C') { + /* XXX i think the destructor must be called always */ + if (1 /* yymsg[0] != 'C' */) { destroy_pval((yyvaluep->pval)); prev_word=0; } else { printf("Cleanup destructor called for pvals\n"); } }; -#line 1670 "ael.tab.c" +#line 1698 "ael.tab.c" break; case 88: /* "switches" */ #line 140 "ael.y" { - if (yymsg[0] != 'C') { + /* XXX i think the destructor must be called always */ + if (1 /* yymsg[0] != 'C' */) { destroy_pval((yyvaluep->pval)); prev_word=0; } else { printf("Cleanup destructor called for pvals\n"); } }; -#line 1682 "ael.tab.c" +#line 1711 "ael.tab.c" break; case 89: /* "eswitches" */ #line 140 "ael.y" { - if (yymsg[0] != 'C') { + /* XXX i think the destructor must be called always */ + if (1 /* yymsg[0] != 'C' */) { destroy_pval((yyvaluep->pval)); prev_word=0; } else { printf("Cleanup destructor called for pvals\n"); } }; -#line 1694 "ael.tab.c" +#line 1724 "ael.tab.c" break; case 90: /* "switchlist" */ #line 140 "ael.y" { - if (yymsg[0] != 'C') { + /* XXX i think the destructor must be called always */ + if (1 /* yymsg[0] != 'C' */) { destroy_pval((yyvaluep->pval)); prev_word=0; } else { printf("Cleanup destructor called for pvals\n"); } }; -#line 1706 "ael.tab.c" +#line 1737 "ael.tab.c" break; case 91: /* "includeslist" */ #line 140 "ael.y" { - if (yymsg[0] != 'C') { + /* XXX i think the destructor must be called always */ + if (1 /* yymsg[0] != 'C' */) { destroy_pval((yyvaluep->pval)); prev_word=0; } else { printf("Cleanup destructor called for pvals\n"); } }; -#line 1718 "ael.tab.c" +#line 1750 "ael.tab.c" break; case 92: /* "includedname" */ -#line 155 "ael.y" +#line 156 "ael.y" { free((yyvaluep->str));}; -#line 1723 "ael.tab.c" +#line 1755 "ael.tab.c" break; case 93: /* "includes" */ #line 140 "ael.y" { - if (yymsg[0] != 'C') { + /* XXX i think the destructor must be called always */ + if (1 /* yymsg[0] != 'C' */) { destroy_pval((yyvaluep->pval)); prev_word=0; } else { printf("Cleanup destructor called for pvals\n"); } }; -#line 1735 "ael.tab.c" +#line 1768 "ael.tab.c" break; default: @@ -2048,17 +2081,17 @@ yyreduce: switch (yyn) { case 2: -#line 160 "ael.y" +#line 161 "ael.y" { (yyval.pval) = parseio->pval = (yyvsp[0].pval); ;} break; case 3: -#line 163 "ael.y" +#line 164 "ael.y" {(yyval.pval)=(yyvsp[0].pval);;} break; case 4: -#line 165 "ael.y" +#line 166 "ael.y" { if ( (yyvsp[-1].pval) && (yyvsp[0].pval) ) { (yyval.pval)=(yyvsp[-1].pval); @@ -2072,32 +2105,32 @@ yyreduce: break; case 5: -#line 175 "ael.y" +#line 176 "ael.y" {(yyval.pval)=(yyvsp[-1].pval);;} break; case 6: -#line 178 "ael.y" +#line 179 "ael.y" {(yyval.pval)=(yyvsp[0].pval);;} break; case 7: -#line 179 "ael.y" +#line 180 "ael.y" {(yyval.pval)=(yyvsp[0].pval);;} break; case 8: -#line 180 "ael.y" +#line 181 "ael.y" {(yyval.pval)=(yyvsp[0].pval);;} break; case 9: -#line 181 "ael.y" +#line 182 "ael.y" {(yyval.pval)=0;/* allow older docs to be read */;} break; case 10: -#line 184 "ael.y" +#line 185 "ael.y" { (yyval.pval) = npval2(PV_CONTEXT, &(yylsp[-4]), &(yylsp[0])); (yyval.pval)->u1.str = (yyvsp[-3].str); @@ -2105,14 +2138,14 @@ yyreduce: break; case 11: -#line 188 "ael.y" +#line 189 "ael.y" { (yyval.pval) = npval2(PV_CONTEXT, &(yylsp[-3]), &(yylsp[0])); (yyval.pval)->u1.str = (yyvsp[-2].str); ;} break; case 12: -#line 191 "ael.y" +#line 192 "ael.y" { (yyval.pval) = npval2(PV_CONTEXT, &(yylsp[-4]), &(yylsp[0])); (yyval.pval)->u1.str = strdup("default"); @@ -2120,14 +2153,14 @@ yyreduce: break; case 13: -#line 195 "ael.y" +#line 196 "ael.y" { (yyval.pval) = npval2(PV_CONTEXT, &(yylsp[-3]), &(yylsp[0])); (yyval.pval)->u1.str = strdup("default"); ;} break; case 14: -#line 198 "ael.y" +#line 199 "ael.y" { (yyval.pval) = npval2(PV_CONTEXT, &(yylsp[-5]), &(yylsp[0])); (yyval.pval)->u1.str = (yyvsp[-3].str); @@ -2136,7 +2169,7 @@ yyreduce: break; case 15: -#line 203 "ael.y" +#line 204 "ael.y" { (yyval.pval) = npval2(PV_CONTEXT, &(yylsp[-4]), &(yylsp[0])); (yyval.pval)->u1.str = (yyvsp[-2].str); @@ -2144,7 +2177,7 @@ yyreduce: break; case 16: -#line 207 "ael.y" +#line 208 "ael.y" { (yyval.pval) = npval2(PV_CONTEXT, &(yylsp[-5]), &(yylsp[0])); (yyval.pval)->u1.str = strdup("default"); @@ -2153,7 +2186,7 @@ yyreduce: break; case 17: -#line 212 "ael.y" +#line 213 "ael.y" { (yyval.pval) = npval2(PV_CONTEXT, &(yylsp[-4]), &(yylsp[0])); (yyval.pval)->u1.str = strdup("default"); @@ -2161,69 +2194,69 @@ yyreduce: break; case 18: -#line 218 "ael.y" +#line 219 "ael.y" { (yyval.pval) = npval2(PV_MACRO, &(yylsp[-7]), &(yylsp[0])); (yyval.pval)->u1.str = (yyvsp[-6].str); (yyval.pval)->u2.arglist = (yyvsp[-4].pval); (yyval.pval)->u3.macro_statements = (yyvsp[-1].pval); ;} break; case 19: -#line 221 "ael.y" +#line 222 "ael.y" { (yyval.pval)=npval(PV_MACRO,(yylsp[-6]).first_line,(yylsp[0]).last_line, (yylsp[-6]).first_column, (yylsp[0]).last_column); (yyval.pval)->u1.str = (yyvsp[-5].str); (yyval.pval)->u2.arglist = (yyvsp[-3].pval); ;} break; case 20: -#line 224 "ael.y" +#line 225 "ael.y" { (yyval.pval)=npval(PV_MACRO,(yylsp[-6]).first_line,(yylsp[0]).last_line, (yylsp[-6]).first_column, (yylsp[0]).last_column); (yyval.pval)->u1.str = (yyvsp[-5].str); (yyval.pval)->u3.macro_statements = (yyvsp[-1].pval); ;} break; case 21: -#line 227 "ael.y" +#line 228 "ael.y" { (yyval.pval)=npval(PV_MACRO,(yylsp[-5]).first_line,(yylsp[0]).last_line, (yylsp[-5]).first_column, (yylsp[0]).last_column); (yyval.pval)->u1.str = (yyvsp[-4].str); /* pretty empty! */ ;} break; case 22: -#line 232 "ael.y" +#line 233 "ael.y" { (yyval.pval)=npval(PV_GLOBALS,(yylsp[-3]).first_line,(yylsp[0]).last_line, (yylsp[-3]).first_column, (yylsp[0]).last_column); (yyval.pval)->u1.statements = (yyvsp[-1].pval);;} break; case 23: -#line 235 "ael.y" +#line 236 "ael.y" { (yyval.pval)=npval(PV_GLOBALS,(yylsp[-2]).first_line,(yylsp[0]).last_line, (yylsp[-2]).first_column, (yylsp[0]).last_column); /* and that's all */ ;} break; case 24: -#line 240 "ael.y" +#line 241 "ael.y" {(yyval.pval)=(yyvsp[0].pval);;} break; case 25: -#line 241 "ael.y" +#line 242 "ael.y" {(yyval.pval)=(yyvsp[-1].pval); linku1((yyval.pval),(yyvsp[0].pval));;} break; case 26: -#line 242 "ael.y" +#line 243 "ael.y" {(yyval.pval)=(yyvsp[-1].pval);;} break; case 27: -#line 245 "ael.y" +#line 246 "ael.y" { reset_semicount(parseio->scanner); ;} break; case 28: -#line 245 "ael.y" +#line 246 "ael.y" { (yyval.pval)=npval(PV_VARDEC,(yylsp[-4]).first_line,(yylsp[0]).last_line, (yylsp[-4]).first_column, (yylsp[0]).last_column); (yyval.pval)->u1.str = (yyvsp[-4].str); @@ -2231,14 +2264,14 @@ yyreduce: break; case 29: -#line 251 "ael.y" +#line 252 "ael.y" { (yyval.pval)= npval(PV_WORD,(yylsp[0]).first_line,(yylsp[0]).last_line, (yylsp[0]).first_column, (yylsp[0]).last_column); (yyval.pval)->u1.str = (yyvsp[0].str); ;} break; case 30: -#line 254 "ael.y" +#line 255 "ael.y" { pval *z = npval(PV_WORD,(yylsp[-2]).first_line,(yylsp[0]).last_line, (yylsp[-2]).first_column, (yylsp[0]).last_column); z->u1.str = (yyvsp[0].str); @@ -2247,64 +2280,64 @@ yyreduce: break; case 31: -#line 259 "ael.y" +#line 260 "ael.y" {(yyval.pval)=(yyvsp[-1].pval);;} break; case 32: -#line 262 "ael.y" +#line 263 "ael.y" { (yyval.pval)=(yyvsp[0].pval);;} break; case 33: -#line 263 "ael.y" +#line 264 "ael.y" {(yyval.pval)=0;;} break; case 34: -#line 264 "ael.y" +#line 265 "ael.y" { if ( (yyvsp[-1].pval) && (yyvsp[0].pval) ) {(yyval.pval)=(yyvsp[-1].pval); linku1((yyval.pval),(yyvsp[0].pval));} else if ( (yyvsp[-1].pval) ) {(yyval.pval)=(yyvsp[-1].pval);} else if ( (yyvsp[0].pval) ) {(yyval.pval)=(yyvsp[0].pval);} ;} break; case 35: -#line 267 "ael.y" +#line 268 "ael.y" { (yyval.pval)=(yyvsp[-1].pval);;} break; case 36: -#line 270 "ael.y" +#line 271 "ael.y" {(yyval.pval)=(yyvsp[0].pval);;} break; case 37: -#line 271 "ael.y" +#line 272 "ael.y" {(yyval.pval)=(yyvsp[0].pval);;} break; case 38: -#line 272 "ael.y" +#line 273 "ael.y" {(yyval.pval)=(yyvsp[0].pval);;} break; case 39: -#line 273 "ael.y" +#line 274 "ael.y" {(yyval.pval)=(yyvsp[0].pval);;} break; case 40: -#line 274 "ael.y" +#line 275 "ael.y" {(yyval.pval)=(yyvsp[0].pval);;} break; case 41: -#line 275 "ael.y" +#line 276 "ael.y" { reset_semicount(parseio->scanner); ;} break; case 42: -#line 275 "ael.y" +#line 276 "ael.y" { (yyval.pval) = npval2(PV_VARDEC, &(yylsp[-4]), &(yylsp[0])); (yyval.pval)->u1.str = (yyvsp[-4].str); @@ -2312,24 +2345,24 @@ yyreduce: break; case 43: -#line 279 "ael.y" +#line 280 "ael.y" {free((yyvsp[-1].str)); (yyval.pval)=0;;} break; case 44: -#line 280 "ael.y" +#line 281 "ael.y" {(yyval.pval)=0;/* allow older docs to be read */;} break; case 45: -#line 283 "ael.y" +#line 284 "ael.y" { (yyval.pval) = npval2(PV_IGNOREPAT, &(yylsp[-3]), &(yylsp[0])); (yyval.pval)->u1.str = (yyvsp[-1].str);;} break; case 46: -#line 288 "ael.y" +#line 289 "ael.y" { (yyval.pval) = npval(PV_EXTENSION,(yylsp[-2]).first_line,(yylsp[0]).last_line, (yylsp[-2]).first_column, (yylsp[0]).last_column); (yyval.pval)->u1.str = (yyvsp[-2].str); @@ -2337,7 +2370,7 @@ yyreduce: break; case 47: -#line 292 "ael.y" +#line 293 "ael.y" { (yyval.pval) = npval(PV_EXTENSION,(yylsp[-3]).first_line,(yylsp[0]).last_line, (yylsp[-3]).first_column, (yylsp[0]).last_column); (yyval.pval)->u1.str = (yyvsp[-2].str); @@ -2346,7 +2379,7 @@ yyreduce: break; case 48: -#line 297 "ael.y" +#line 298 "ael.y" { (yyval.pval) = npval(PV_EXTENSION,(yylsp[-6]).first_line,(yylsp[0]).last_line, (yylsp[-6]).first_column, (yylsp[0]).last_column); (yyval.pval)->u1.str = (yyvsp[-2].str); @@ -2355,7 +2388,7 @@ yyreduce: break; case 49: -#line 302 "ael.y" +#line 303 "ael.y" { (yyval.pval) = npval(PV_EXTENSION,(yylsp[-7]).first_line,(yylsp[0]).last_line, (yylsp[-7]).first_column, (yylsp[0]).last_column); (yyval.pval)->u1.str = (yyvsp[-2].str); @@ -2365,48 +2398,48 @@ yyreduce: break; case 50: -#line 311 "ael.y" +#line 312 "ael.y" {(yyval.pval)=(yyvsp[0].pval);;} break; case 51: -#line 312 "ael.y" +#line 313 "ael.y" {if ( (yyvsp[-1].pval) && (yyvsp[0].pval) ) {(yyval.pval)=(yyvsp[-1].pval); linku1((yyval.pval),(yyvsp[0].pval));} else if ( (yyvsp[-1].pval) ) {(yyval.pval)=(yyvsp[-1].pval);} else if ( (yyvsp[0].pval) ) {(yyval.pval)=(yyvsp[0].pval);} ;} break; case 52: -#line 315 "ael.y" +#line 316 "ael.y" {(yyval.pval)=(yyvsp[-1].pval);;} break; case 53: -#line 318 "ael.y" +#line 319 "ael.y" { reset_parencount(parseio->scanner); ;} break; case 54: -#line 318 "ael.y" +#line 319 "ael.y" { (yyval.pval)= npval(PV_IF,(yylsp[-4]).first_line,(yylsp[0]).last_line, (yylsp[-4]).first_column, (yylsp[0]).last_column); (yyval.pval)->u1.str = (yyvsp[-1].str); ;} break; case 55: -#line 323 "ael.y" +#line 324 "ael.y" { reset_parencount(parseio->scanner); ;} break; case 56: -#line 323 "ael.y" +#line 324 "ael.y" { (yyval.pval)= npval(PV_RANDOM,(yylsp[-4]).first_line,(yylsp[0]).last_line, (yylsp[-4]).first_column, (yylsp[0]).last_column); (yyval.pval)->u1.str=(yyvsp[-1].str);;} break; case 57: -#line 329 "ael.y" +#line 330 "ael.y" { (yyval.pval) = npval2(PV_IFTIME, &(yylsp[-13]), &(yylsp[-9])); /* XXX really @5 or more ? */ (yyval.pval)->u1.list = npval2(PV_WORD, &(yylsp[-11]), &(yylsp[-11])); @@ -2425,7 +2458,7 @@ yyreduce: break; case 58: -#line 344 "ael.y" +#line 345 "ael.y" { (yyval.pval) = npval2(PV_IFTIME, &(yylsp[-9]), &(yylsp[-5])); /* XXX @5 or greater ? */ (yyval.pval)->u1.list = npval2(PV_WORD, &(yylsp[-7]), &(yylsp[-7])); @@ -2441,12 +2474,12 @@ yyreduce: break; case 59: -#line 364 "ael.y" +#line 365 "ael.y" { (yyval.str) = (yyvsp[0].str);;} break; case 60: -#line 365 "ael.y" +#line 366 "ael.y" { asprintf(&((yyval.str)), "%s%s", (yyvsp[-1].str), (yyvsp[0].str)); free((yyvsp[-1].str)); @@ -2455,12 +2488,12 @@ yyreduce: break; case 61: -#line 372 "ael.y" +#line 373 "ael.y" { (yyval.str) = (yyvsp[0].str);;} break; case 62: -#line 373 "ael.y" +#line 374 "ael.y" { asprintf(&((yyval.str)), "%s%s", (yyvsp[-1].str), (yyvsp[0].str)); free((yyvsp[-1].str)); @@ -2469,7 +2502,7 @@ yyreduce: break; case 63: -#line 378 "ael.y" +#line 379 "ael.y" { asprintf(&((yyval.str)), "%s%s%s", (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str)); free((yyvsp[-2].str)); @@ -2479,12 +2512,12 @@ yyreduce: break; case 64: -#line 386 "ael.y" +#line 387 "ael.y" { (yyval.str) = (yyvsp[0].str);;} break; case 65: -#line 387 "ael.y" +#line 388 "ael.y" { asprintf(&((yyval.str)), "%s%s", (yyvsp[-1].str), (yyvsp[0].str)); free((yyvsp[-1].str)); @@ -2492,7 +2525,7 @@ yyreduce: break; case 66: -#line 391 "ael.y" +#line 392 "ael.y" { asprintf(&((yyval.str)), "%s:%s", (yyvsp[-2].str), (yyvsp[0].str)); free((yyvsp[-2].str)); @@ -2500,31 +2533,31 @@ yyreduce: break; case 67: -#line 397 "ael.y" +#line 398 "ael.y" { reset_parencount(parseio->scanner); ;} break; case 68: -#line 397 "ael.y" +#line 398 "ael.y" { (yyval.pval)=npval(PV_SWITCH,(yylsp[-5]).first_line,(yylsp[0]).last_line, (yylsp[-5]).first_column, (yylsp[0]).last_column); (yyval.pval)->u1.str = (yyvsp[-2].str); ;} break; case 69: -#line 405 "ael.y" +#line 406 "ael.y" { (yyval.pval) = npval2(PV_STATEMENTBLOCK, &(yylsp[-2]), &(yylsp[0])); (yyval.pval)->u1.list = (yyvsp[-1].pval); ;} break; case 70: -#line 408 "ael.y" +#line 409 "ael.y" {reset_semicount(parseio->scanner);;} break; case 71: -#line 408 "ael.y" +#line 409 "ael.y" { (yyval.pval) = npval2(PV_VARDEC, &(yylsp[-4]), &(yylsp[0])); (yyval.pval)->u1.str = (yyvsp[-4].str); @@ -2532,43 +2565,43 @@ yyreduce: break; case 72: -#line 412 "ael.y" +#line 413 "ael.y" { (yyval.pval) = npval2(PV_GOTO, &(yylsp[-2]), &(yylsp[0])); (yyval.pval)->u1.list = (yyvsp[-1].pval);;} break; case 73: -#line 415 "ael.y" +#line 416 "ael.y" { (yyval.pval)=npval(PV_GOTO,(yylsp[-2]).first_line,(yylsp[0]).last_line, (yylsp[-2]).first_column, (yylsp[0]).last_column); (yyval.pval)->u1.list = (yyvsp[-1].pval);;} break; case 74: -#line 418 "ael.y" +#line 419 "ael.y" { (yyval.pval)=npval(PV_LABEL,(yylsp[-1]).first_line,(yylsp[0]).last_line, (yylsp[-1]).first_column, (yylsp[0]).last_column); (yyval.pval)->u1.str = (yyvsp[-1].str); ;} break; case 75: -#line 421 "ael.y" +#line 422 "ael.y" {reset_semicount(parseio->scanner);;} break; case 76: -#line 422 "ael.y" +#line 423 "ael.y" {reset_semicount(parseio->scanner);;} break; case 77: -#line 423 "ael.y" +#line 424 "ael.y" {reset_parencount(parseio->scanner);;} break; case 78: -#line 423 "ael.y" +#line 424 "ael.y" { (yyval.pval)=npval(PV_FOR,(yylsp[-11]).first_line,(yylsp[0]).last_line, (yylsp[-11]).first_column, (yylsp[0]).last_column); (yyval.pval)->u1.for_init = (yyvsp[-8].str); @@ -2578,12 +2611,12 @@ yyreduce: break; case 79: -#line 429 "ael.y" +#line 430 "ael.y" {reset_parencount(parseio->scanner);;} break; case 80: -#line 429 "ael.y" +#line 430 "ael.y" { (yyval.pval)=npval(PV_WHILE,(yylsp[-5]).first_line,(yylsp[0]).last_line, (yylsp[-5]).first_column, (yylsp[0]).last_column); (yyval.pval)->u1.str = (yyvsp[-2].str); @@ -2591,7 +2624,7 @@ yyreduce: break; case 81: -#line 433 "ael.y" +#line 434 "ael.y" { (yyval.pval)=(yyvsp[-1].pval); (yyval.pval)->endline = (yylsp[0]).last_line; @@ -2599,7 +2632,7 @@ yyreduce: break; case 82: -#line 437 "ael.y" +#line 438 "ael.y" { (yyval.pval)=(yyvsp[-2].pval); (yyval.pval)->u2.statements = (yyvsp[-1].pval); @@ -2608,7 +2641,7 @@ yyreduce: break; case 83: -#line 442 "ael.y" +#line 443 "ael.y" { (yyval.pval) = (yyvsp[-1].pval); (yyval.pval)->endline = (yylsp[-1]).last_line; @@ -2616,7 +2649,7 @@ yyreduce: break; case 84: -#line 446 "ael.y" +#line 447 "ael.y" { (yyval.pval) = (yyvsp[-1].pval); (yyval.pval)->endline = (yylsp[0]).last_line; @@ -2624,19 +2657,19 @@ yyreduce: break; case 85: -#line 450 "ael.y" +#line 451 "ael.y" { (yyval.pval)= npval(PV_APPLICATION_CALL,(yylsp[-1]).first_line,(yylsp[0]).last_line, (yylsp[-1]).first_column, (yylsp[0]).last_column); (yyval.pval)->u1.str = (yyvsp[-1].str);;} break; case 86: -#line 453 "ael.y" +#line 454 "ael.y" {reset_semicount(parseio->scanner);;} break; case 87: -#line 453 "ael.y" +#line 454 "ael.y" { char *bufx; int tot=0; @@ -2673,25 +2706,25 @@ yyreduce: break; case 88: -#line 486 "ael.y" +#line 487 "ael.y" { (yyval.pval) = npval(PV_BREAK,(yylsp[-1]).first_line,(yylsp[0]).last_line, (yylsp[-1]).first_column, (yylsp[0]).last_column);;} break; case 89: -#line 488 "ael.y" +#line 489 "ael.y" { (yyval.pval) = npval(PV_RETURN,(yylsp[-1]).first_line,(yylsp[0]).last_line, (yylsp[-1]).first_column, (yylsp[0]).last_column);;} break; case 90: -#line 490 "ael.y" +#line 491 "ael.y" { (yyval.pval) = npval(PV_CONTINUE,(yylsp[-1]).first_line,(yylsp[0]).last_line, (yylsp[-1]).first_column, (yylsp[0]).last_column);;} break; case 91: -#line 492 "ael.y" +#line 493 "ael.y" { (yyval.pval)=(yyvsp[-1].pval); (yyval.pval)->u2.statements = (yyvsp[0].pval); @@ -2700,7 +2733,7 @@ yyreduce: break; case 92: -#line 497 "ael.y" +#line 498 "ael.y" { (yyval.pval)=(yyvsp[-3].pval); (yyval.pval)->u2.statements = (yyvsp[-2].pval); @@ -2710,7 +2743,7 @@ yyreduce: break; case 93: -#line 503 "ael.y" +#line 504 "ael.y" { (yyval.pval)=(yyvsp[-1].pval); (yyval.pval)->u2.statements = (yyvsp[0].pval); @@ -2719,7 +2752,7 @@ yyreduce: break; case 94: -#line 508 "ael.y" +#line 509 "ael.y" { (yyval.pval)=(yyvsp[-3].pval); (yyval.pval)->u2.statements = (yyvsp[-2].pval); @@ -2729,7 +2762,7 @@ yyreduce: break; case 95: -#line 514 "ael.y" +#line 515 "ael.y" { (yyval.pval)=(yyvsp[-1].pval); (yyval.pval)->u2.statements = (yyvsp[0].pval); @@ -2738,7 +2771,7 @@ yyreduce: break; case 96: -#line 519 "ael.y" +#line 520 "ael.y" { (yyval.pval)=(yyvsp[-3].pval); (yyval.pval)->u2.statements = (yyvsp[-2].pval); @@ -2748,17 +2781,17 @@ yyreduce: break; case 97: -#line 525 "ael.y" +#line 526 "ael.y" { (yyval.pval)=0; ;} break; case 98: -#line 528 "ael.y" +#line 529 "ael.y" { (yyval.pval) = npval(PV_WORD,(yylsp[0]).first_line,(yylsp[0]).last_line, (yylsp[0]).first_column, (yylsp[0]).last_column); (yyval.pval)->u1.str = (yyvsp[0].str);;} break; case 99: -#line 529 "ael.y" +#line 530 "ael.y" { (yyval.pval)=npval(PV_WORD,(yylsp[-2]).first_line,(yylsp[-2]).last_line, (yylsp[-2]).first_column, (yylsp[-2]).last_column); (yyval.pval)->u1.str = (yyvsp[-2].str); @@ -2767,7 +2800,7 @@ yyreduce: break; case 100: -#line 534 "ael.y" +#line 535 "ael.y" { (yyval.pval)=npval(PV_WORD,(yylsp[-2]).first_line,(yylsp[-2]).last_line, (yylsp[-2]).first_column, (yylsp[-2]).last_column); (yyval.pval)->u1.str = (yyvsp[-2].str); @@ -2776,7 +2809,7 @@ yyreduce: break; case 101: -#line 539 "ael.y" +#line 540 "ael.y" { (yyval.pval)=npval(PV_WORD,(yylsp[-4]).first_line,(yylsp[-4]).last_line, (yylsp[-4]).first_column, (yylsp[-4]).last_column); (yyval.pval)->u1.str = (yyvsp[-4].str); @@ -2787,7 +2820,7 @@ yyreduce: break; case 102: -#line 546 "ael.y" +#line 547 "ael.y" { (yyval.pval)=npval(PV_WORD,(yylsp[-4]).first_line,(yylsp[-4]).last_line, (yylsp[-4]).first_column, (yylsp[-4]).last_column); (yyval.pval)->u1.str = (yyvsp[-4].str); @@ -2798,7 +2831,7 @@ yyreduce: break; case 103: -#line 553 "ael.y" +#line 554 "ael.y" { (yyval.pval)=npval(PV_WORD,(yylsp[-4]).first_line,(yylsp[-4]).last_line, (yylsp[-4]).first_column, (yylsp[-4]).last_column); (yyval.pval)->u1.str = strdup("default"); @@ -2809,7 +2842,7 @@ yyreduce: break; case 104: -#line 560 "ael.y" +#line 561 "ael.y" { (yyval.pval)=npval(PV_WORD,(yylsp[-4]).first_line,(yylsp[-4]).last_line, (yylsp[-4]).first_column, (yylsp[-4]).last_column); (yyval.pval)->u1.str = strdup("default"); @@ -2820,7 +2853,7 @@ yyreduce: break; case 105: -#line 569 "ael.y" +#line 570 "ael.y" { (yyval.pval)=npval(PV_WORD,(yylsp[0]).first_line,(yylsp[0]).last_line, (yylsp[0]).first_column, (yylsp[0]).last_column); (yyval.pval)->u1.str = (yyvsp[0].str); @@ -2829,7 +2862,7 @@ yyreduce: break; case 106: -#line 574 "ael.y" +#line 575 "ael.y" { (yyval.pval)=npval(PV_WORD,(yylsp[-2]).first_line,(yylsp[-2]).last_line, (yylsp[-2]).first_column, (yylsp[-2]).last_column); (yyval.pval)->u1.str = (yyvsp[-2].str); @@ -2838,7 +2871,7 @@ yyreduce: break; case 107: -#line 579 "ael.y" +#line 580 "ael.y" { (yyval.pval)=npval(PV_WORD,(yylsp[-4]).first_line,(yylsp[-4]).last_line, (yylsp[-4]).first_column, (yylsp[-4]).last_column); (yyval.pval)->u1.str = (yyvsp[0].str); @@ -2849,7 +2882,7 @@ yyreduce: break; case 108: -#line 586 "ael.y" +#line 587 "ael.y" { (yyval.pval)=npval(PV_WORD,(yylsp[-2]).first_line,(yylsp[-2]).last_line, (yylsp[-2]).first_column, (yylsp[-2]).last_column); (yyval.pval)->u1.str = (yyvsp[0].str); @@ -2860,7 +2893,7 @@ yyreduce: break; case 109: -#line 593 "ael.y" +#line 594 "ael.y" { (yyval.pval)=npval(PV_WORD,(yylsp[-4]).first_line,(yylsp[-4]).last_line, (yylsp[-4]).first_column, (yylsp[-4]).last_column); (yyval.pval)->u1.str = strdup("default"); @@ -2871,7 +2904,7 @@ yyreduce: break; case 110: -#line 600 "ael.y" +#line 601 "ael.y" { (yyval.pval)=npval(PV_WORD,(yylsp[-2]).first_line,(yylsp[-2]).last_line, (yylsp[-2]).first_column, (yylsp[-2]).last_column); (yyval.pval)->u1.str = strdup("default"); @@ -2882,12 +2915,12 @@ yyreduce: break; case 111: -#line 609 "ael.y" +#line 610 "ael.y" {reset_argcount(parseio->scanner);;} break; case 112: -#line 609 "ael.y" +#line 610 "ael.y" { /* XXX original code had @2 but i think we need @5 */ (yyval.pval) = npval2(PV_MACRO_CALL, &(yylsp[-4]), &(yylsp[0])); @@ -2896,19 +2929,19 @@ yyreduce: break; case 113: -#line 614 "ael.y" +#line 615 "ael.y" { (yyval.pval)= npval2(PV_MACRO_CALL, &(yylsp[-2]), &(yylsp[0])); (yyval.pval)->u1.str = (yyvsp[-2].str); ;} break; case 114: -#line 619 "ael.y" +#line 620 "ael.y" {reset_argcount(parseio->scanner);;} break; case 115: -#line 619 "ael.y" +#line 620 "ael.y" { if (strcasecmp((yyvsp[-2].str),"goto") == 0) { (yyval.pval)= npval(PV_GOTO,(yylsp[-2]).first_line,(yylsp[0]).last_line, (yylsp[-2]).first_column, (yylsp[0]).last_column); @@ -2920,7 +2953,7 @@ yyreduce: break; case 116: -#line 629 "ael.y" +#line 630 "ael.y" {(yyval.pval) = (yyvsp[-2].pval); if( (yyval.pval)->type == PV_GOTO ) (yyval.pval)->u1.list = (yyvsp[-1].pval); @@ -2930,26 +2963,26 @@ yyreduce: break; case 117: -#line 635 "ael.y" +#line 636 "ael.y" {(yyval.pval)=(yyvsp[-1].pval);(yyval.pval)->endline = (yylsp[0]).last_line; (yyval.pval)->endcol = (yylsp[0]).last_column;;} break; case 118: -#line 638 "ael.y" +#line 639 "ael.y" { (yyval.pval)= npval(PV_WORD,(yylsp[0]).first_line,(yylsp[0]).last_line, (yylsp[0]).first_column, (yylsp[0]).last_column); (yyval.pval)->u1.str = (yyvsp[0].str);;} break; case 119: -#line 641 "ael.y" +#line 642 "ael.y" { (yyval.pval)= npval(PV_WORD,0/*@1.first_line*/,0/*@1.last_line*/,0/* @1.first_column*/, 0/*@1.last_column*/); (yyval.pval)->u1.str = strdup(""); ;} break; case 120: -#line 644 "ael.y" +#line 645 "ael.y" { pval *z = npval(PV_WORD,(yylsp[0]).first_line,(yylsp[0]).last_line, (yylsp[0]).first_column, (yylsp[0]).last_column); (yyval.pval) = (yyvsp[-2].pval); @@ -2958,7 +2991,7 @@ yyreduce: break; case 121: -#line 649 "ael.y" +#line 650 "ael.y" { pval *z = npval(PV_WORD,(yylsp[0]).first_line,(yylsp[0]).last_line, (yylsp[0]).first_column, (yylsp[0]).last_column); (yyval.pval) = (yyvsp[-1].pval); @@ -2967,19 +3000,19 @@ yyreduce: break; case 122: -#line 656 "ael.y" +#line 657 "ael.y" {(yyval.pval)=(yyvsp[0].pval);;} break; case 123: -#line 657 "ael.y" +#line 658 "ael.y" { if ( (yyvsp[-1].pval) && (yyvsp[0].pval) ) {(yyval.pval)=(yyvsp[-1].pval); linku1((yyval.pval),(yyvsp[0].pval));} else if ( (yyvsp[-1].pval) ) {(yyval.pval)=(yyvsp[-1].pval);} else if ( (yyvsp[0].pval) ) {(yyval.pval)=(yyvsp[0].pval);} ;} break; case 124: -#line 662 "ael.y" +#line 663 "ael.y" { (yyval.pval) = npval2(PV_CASE, &(yylsp[-3]), &(yylsp[-1])); /* XXX 3 or 4 ? */ (yyval.pval)->u1.str = (yyvsp[-2].str); @@ -2987,7 +3020,7 @@ yyreduce: break; case 125: -#line 666 "ael.y" +#line 667 "ael.y" { (yyval.pval) = npval2(PV_DEFAULT, &(yylsp[-2]), &(yylsp[0])); (yyval.pval)->u1.str = NULL; @@ -2995,7 +3028,7 @@ yyreduce: break; case 126: -#line 670 "ael.y" +#line 671 "ael.y" { (yyval.pval) = npval2(PV_PATTERN, &(yylsp[-3]), &(yylsp[0])); /* XXX@3 or @4 ? */ (yyval.pval)->u1.str = (yyvsp[-2].str); @@ -3003,90 +3036,90 @@ yyreduce: break; case 127: -#line 674 "ael.y" +#line 675 "ael.y" { (yyval.pval) = npval2(PV_CASE, &(yylsp[-2]), &(yylsp[0])); (yyval.pval)->u1.str = (yyvsp[-1].str);;} break; case 128: -#line 677 "ael.y" +#line 678 "ael.y" { (yyval.pval) = npval2(PV_DEFAULT, &(yylsp[-1]), &(yylsp[0])); (yyval.pval)->u1.str = NULL;;} break; case 129: -#line 680 "ael.y" +#line 681 "ael.y" { (yyval.pval) = npval2(PV_PATTERN, &(yylsp[-2]), &(yylsp[0])); (yyval.pval)->u1.str = (yyvsp[-1].str);;} break; case 130: -#line 685 "ael.y" +#line 686 "ael.y" {(yyval.pval) = (yyvsp[0].pval);;} break; case 131: -#line 686 "ael.y" +#line 687 "ael.y" { if ( (yyvsp[-1].pval) && (yyvsp[0].pval) ) {(yyval.pval)=(yyvsp[-1].pval); linku1((yyval.pval),(yyvsp[0].pval));} else if ( (yyvsp[-1].pval) ) {(yyval.pval)=(yyvsp[-1].pval);} else if ( (yyvsp[0].pval) ) {(yyval.pval)=(yyvsp[0].pval);} ;} break; case 132: -#line 691 "ael.y" +#line 692 "ael.y" {(yyval.pval)=(yyvsp[0].pval);;} break; case 133: -#line 692 "ael.y" +#line 693 "ael.y" {(yyval.pval)=npval(PV_CATCH,(yylsp[-4]).first_line,(yylsp[0]).last_line, (yylsp[-4]).first_column, (yylsp[0]).last_column); (yyval.pval)->u1.str = (yyvsp[-3].str); (yyval.pval)->u2.statements = (yyvsp[-1].pval);;} break; case 134: -#line 695 "ael.y" +#line 696 "ael.y" {(yyval.pval)= npval(PV_SWITCHES,(yylsp[-3]).first_line,(yylsp[0]).last_line, (yylsp[-3]).first_column, (yylsp[0]).last_column); (yyval.pval)->u1.list = (yyvsp[-1].pval); ;} break; case 135: -#line 696 "ael.y" +#line 697 "ael.y" {(yyval.pval)= npval(PV_SWITCHES,(yylsp[-2]).first_line,(yylsp[0]).last_line, (yylsp[-2]).first_column, (yylsp[0]).last_column);;} break; case 136: -#line 699 "ael.y" +#line 700 "ael.y" {(yyval.pval)= npval(PV_ESWITCHES,(yylsp[-3]).first_line,(yylsp[0]).last_line, (yylsp[-3]).first_column, (yylsp[0]).last_column); (yyval.pval)->u1.list = (yyvsp[-1].pval); ;} break; case 137: -#line 700 "ael.y" +#line 701 "ael.y" {(yyval.pval)= npval(PV_ESWITCHES,(yylsp[-2]).first_line,(yylsp[0]).last_line, (yylsp[-2]).first_column, (yylsp[0]).last_column); ;} break; case 138: -#line 703 "ael.y" +#line 704 "ael.y" {(yyval.pval)=npval(PV_WORD,(yylsp[-1]).first_line,(yylsp[0]).last_line, (yylsp[-1]).first_column, (yylsp[0]).last_column); (yyval.pval)->u1.str = (yyvsp[-1].str);;} break; case 139: -#line 704 "ael.y" +#line 705 "ael.y" {pval *z = npval(PV_WORD,(yylsp[-1]).first_line,(yylsp[0]).last_line, (yylsp[-1]).first_column, (yylsp[0]).last_column); (yyval.pval)=(yyvsp[-2].pval); z->u1.str = (yyvsp[-1].str); linku1((yyval.pval),z); ;} break; case 140: -#line 705 "ael.y" +#line 706 "ael.y" {(yyval.pval)=(yyvsp[-1].pval);;} break; case 141: -#line 708 "ael.y" +#line 709 "ael.y" {(yyval.pval)=npval(PV_WORD,(yylsp[-1]).first_line,(yylsp[0]).last_line, (yylsp[-1]).first_column, (yylsp[0]).last_column); (yyval.pval)->u1.str = (yyvsp[-1].str);;} break; case 142: -#line 709 "ael.y" +#line 710 "ael.y" { (yyval.pval)=npval(PV_WORD,(yylsp[-13]).first_line,(yylsp[-12]).last_line, (yylsp[-13]).first_column, (yylsp[-12]).last_column); (yyval.pval)->u1.str = (yyvsp[-13].str); @@ -3106,7 +3139,7 @@ yyreduce: break; case 143: -#line 725 "ael.y" +#line 726 "ael.y" { (yyval.pval)=npval(PV_WORD,(yylsp[-9]).first_line,(yylsp[-8]).last_line, (yylsp[-9]).first_column, (yylsp[-8]).last_column); (yyval.pval)->u1.str = (yyvsp[-9].str); @@ -3123,12 +3156,12 @@ yyreduce: break; case 144: -#line 738 "ael.y" +#line 739 "ael.y" {pval *z = npval(PV_WORD,(yylsp[-1]).first_line,(yylsp[0]).last_line, (yylsp[-1]).first_column, (yylsp[0]).last_column); (yyval.pval)=(yyvsp[-2].pval); z->u1.str = (yyvsp[-1].str); linku1((yyval.pval),z); ;} break; case 145: -#line 739 "ael.y" +#line 740 "ael.y" {pval *z = npval(PV_WORD,(yylsp[-13]).first_line,(yylsp[-12]).last_line, (yylsp[-13]).first_column, (yylsp[-12]).last_column); (yyval.pval)=(yyvsp[-14].pval); z->u1.str = (yyvsp[-13].str); linku1((yyval.pval),z); z->u2.arglist = npval(PV_WORD,(yylsp[-11]).first_line,(yylsp[-11]).last_line, (yylsp[-11]).first_column, (yylsp[-11]).last_column); @@ -3147,7 +3180,7 @@ yyreduce: break; case 146: -#line 755 "ael.y" +#line 756 "ael.y" {pval *z = npval(PV_WORD,(yylsp[-9]).first_line,(yylsp[-9]).last_line, (yylsp[-9]).first_column, (yylsp[-8]).last_column); (yyval.pval)=(yyvsp[-10].pval); z->u1.str = (yyvsp[-9].str); linku1((yyval.pval),z); z->u2.arglist = npval(PV_WORD,(yylsp[-7]).first_line,(yylsp[-7]).last_line, (yylsp[-7]).first_column, (yylsp[-7]).last_column); @@ -3163,29 +3196,29 @@ yyreduce: break; case 147: -#line 767 "ael.y" +#line 768 "ael.y" {(yyval.pval)=(yyvsp[-1].pval);;} break; case 148: -#line 770 "ael.y" +#line 771 "ael.y" { (yyval.str) = (yyvsp[0].str);;} break; case 149: -#line 771 "ael.y" +#line 772 "ael.y" {(yyval.str)=strdup("default");;} break; case 150: -#line 774 "ael.y" +#line 775 "ael.y" { (yyval.pval) = npval2(PV_INCLUDES, &(yylsp[-3]), &(yylsp[0])); (yyval.pval)->u1.list = (yyvsp[-1].pval);;} break; case 151: -#line 777 "ael.y" +#line 778 "ael.y" { (yyval.pval) = npval2(PV_INCLUDES, &(yylsp[-2]), &(yylsp[0]));;} break; @@ -3195,7 +3228,7 @@ yyreduce: } /* Line 1126 of yacc.c. */ -#line 3199 "ael.tab.c" +#line 3232 "ael.tab.c" yyvsp -= yylen; yyssp -= yylen; @@ -3470,7 +3503,7 @@ yyreturn: } -#line 782 "ael.y" +#line 783 "ael.y" static char *token_equivs1[] = diff --git a/pbx/ael/ael.y b/pbx/ael/ael.y index 48fac1c77..6456fade0 100644 --- a/pbx/ael/ael.y +++ b/pbx/ael/ael.y @@ -138,7 +138,8 @@ static pval *npval2(pvaltype type, YYLTYPE *first, YYLTYPE *last); * The former is for pval, the latter for strings. */ %destructor { - if (yymsg[0] != 'C') { + /* XXX i think the destructor must be called always */ + if (1 /* yymsg[0] != 'C' */) { destroy_pval($$); prev_word=0; } else { -- cgit v1.2.3