more usage of nword(). I think the references to source

line/columns are also correct now.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@24175 65c4cc65-6c06-0410-ace0-fbb531ad65f3
1.4
Luigi Rizzo 20 years ago
parent d8e1ad052a
commit f262d06975

@ -564,20 +564,20 @@ static const unsigned short int yyrline[] =
{ {
0, 176, 176, 179, 180, 181, 184, 185, 186, 187, 0, 176, 176, 179, 180, 181, 184, 185, 186, 187,
190, 191, 194, 202, 203, 206, 209, 212, 216, 221, 190, 191, 194, 202, 203, 206, 209, 212, 216, 221,
224, 228, 229, 230, 233, 233, 239, 240, 244, 247, 224, 228, 229, 230, 233, 233, 239, 240, 243, 246,
248, 251, 252, 253, 254, 257, 258, 259, 260, 261, 247, 250, 251, 252, 253, 256, 257, 258, 259, 260,
262, 262, 266, 267, 270, 275, 279, 284, 289, 298, 261, 261, 265, 266, 269, 274, 278, 283, 288, 297,
299, 300, 303, 303, 308, 308, 313, 326, 342, 343, 298, 299, 302, 302, 307, 307, 312, 325, 341, 342,
350, 351, 356, 364, 365, 369, 375, 375, 383, 386, 349, 350, 355, 363, 364, 368, 374, 374, 382, 385,
386, 390, 393, 396, 399, 400, 401, 399, 407, 407, 385, 389, 392, 395, 398, 399, 400, 398, 406, 406,
411, 413, 416, 418, 420, 423, 423, 456, 457, 458, 410, 412, 415, 417, 419, 422, 422, 455, 456, 457,
459, 463, 467, 471, 474, 475, 480, 481, 484, 487, 458, 462, 466, 470, 473, 474, 479, 480, 483, 486,
491, 495, 499, 506, 509, 512, 519, 526, 533, 542, 490, 494, 498, 505, 508, 511, 515, 519, 523, 529,
542, 547, 555, 555, 566, 573, 576, 577, 580, 581, 529, 534, 542, 542, 553, 560, 563, 564, 567, 568,
584, 589, 590, 593, 597, 601, 605, 608, 611, 616, 571, 576, 577, 580, 584, 588, 592, 595, 598, 603,
617, 620, 621, 627, 632, 637, 638, 641, 644, 648, 604, 607, 608, 614, 619, 624, 625, 628, 629, 632,
651, 654, 668, 677, 681, 696, 707, 710, 711, 714, 635, 636, 649, 657, 660, 674, 685, 688, 689, 692,
717 695
}; };
#endif #endif
@ -2077,78 +2077,77 @@ yyreduce:
case 27: case 27:
#line 240 "ael.y" #line 240 "ael.y"
{ {
pval *z = npval2(PV_WORD, &(yylsp[-2]), &(yylsp[0])); pval *z = nword((yyvsp[0].str), &(yylsp[0]));
z->u1.str = (yyvsp[0].str);
(yyval.pval) = linku1((yyvsp[-2].pval), z); ;} (yyval.pval) = linku1((yyvsp[-2].pval), z); ;}
break; break;
case 28: case 28:
#line 244 "ael.y" #line 243 "ael.y"
{(yyval.pval)=(yyvsp[-1].pval);;} {(yyval.pval)=(yyvsp[-1].pval);;}
break; break;
case 29: case 29:
#line 247 "ael.y" #line 246 "ael.y"
{ (yyval.pval) = NULL; ;} { (yyval.pval) = NULL; ;}
break; break;
case 30: case 30:
#line 248 "ael.y" #line 247 "ael.y"
{ (yyval.pval) = (yyvsp[-1].pval); ;} { (yyval.pval) = (yyvsp[-1].pval); ;}
break; break;
case 31: case 31:
#line 251 "ael.y" #line 250 "ael.y"
{ (yyval.pval)=(yyvsp[0].pval);;} { (yyval.pval)=(yyvsp[0].pval);;}
break; break;
case 32: case 32:
#line 252 "ael.y" #line 251 "ael.y"
{(yyval.pval)=0;;} {(yyval.pval)=0;;}
break; break;
case 33: case 33:
#line 253 "ael.y" #line 252 "ael.y"
{ (yyval.pval) = linku1((yyvsp[-1].pval), (yyvsp[0].pval)); ;} { (yyval.pval) = linku1((yyvsp[-1].pval), (yyvsp[0].pval)); ;}
break; break;
case 34: case 34:
#line 254 "ael.y" #line 253 "ael.y"
{ (yyval.pval)=(yyvsp[-1].pval);;} { (yyval.pval)=(yyvsp[-1].pval);;}
break; break;
case 35: case 35:
#line 257 "ael.y" #line 256 "ael.y"
{(yyval.pval)=(yyvsp[0].pval);;} {(yyval.pval)=(yyvsp[0].pval);;}
break; break;
case 36: case 36:
#line 258 "ael.y" #line 257 "ael.y"
{(yyval.pval)=(yyvsp[0].pval);;} {(yyval.pval)=(yyvsp[0].pval);;}
break; break;
case 37: case 37:
#line 259 "ael.y" #line 258 "ael.y"
{(yyval.pval)=(yyvsp[0].pval);;} {(yyval.pval)=(yyvsp[0].pval);;}
break; break;
case 38: case 38:
#line 260 "ael.y" #line 259 "ael.y"
{(yyval.pval)=(yyvsp[0].pval);;} {(yyval.pval)=(yyvsp[0].pval);;}
break; break;
case 39: case 39:
#line 261 "ael.y" #line 260 "ael.y"
{(yyval.pval)=(yyvsp[0].pval);;} {(yyval.pval)=(yyvsp[0].pval);;}
break; break;
case 40: case 40:
#line 262 "ael.y" #line 261 "ael.y"
{ reset_semicount(parseio->scanner); ;} { reset_semicount(parseio->scanner); ;}
break; break;
case 41: case 41:
#line 262 "ael.y" #line 261 "ael.y"
{ {
(yyval.pval) = npval2(PV_VARDEC, &(yylsp[-4]), &(yylsp[0])); (yyval.pval) = npval2(PV_VARDEC, &(yylsp[-4]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-4].str); (yyval.pval)->u1.str = (yyvsp[-4].str);
@ -2156,24 +2155,24 @@ yyreduce:
break; break;
case 42: case 42:
#line 266 "ael.y" #line 265 "ael.y"
{free((yyvsp[-1].str)); (yyval.pval)=0;;} {free((yyvsp[-1].str)); (yyval.pval)=0;;}
break; break;
case 43: case 43:
#line 267 "ael.y" #line 266 "ael.y"
{(yyval.pval)=0;/* allow older docs to be read */;} {(yyval.pval)=0;/* allow older docs to be read */;}
break; break;
case 44: case 44:
#line 270 "ael.y" #line 269 "ael.y"
{ {
(yyval.pval) = npval2(PV_IGNOREPAT, &(yylsp[-3]), &(yylsp[0])); (yyval.pval) = npval2(PV_IGNOREPAT, &(yylsp[-3]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-1].str);;} (yyval.pval)->u1.str = (yyvsp[-1].str);;}
break; break;
case 45: case 45:
#line 275 "ael.y" #line 274 "ael.y"
{ {
(yyval.pval) = npval2(PV_EXTENSION, &(yylsp[-2]), &(yylsp[0])); (yyval.pval) = npval2(PV_EXTENSION, &(yylsp[-2]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-2].str); (yyval.pval)->u1.str = (yyvsp[-2].str);
@ -2181,7 +2180,7 @@ yyreduce:
break; break;
case 46: case 46:
#line 279 "ael.y" #line 278 "ael.y"
{ {
(yyval.pval) = npval2(PV_EXTENSION, &(yylsp[-3]), &(yylsp[0])); (yyval.pval) = npval2(PV_EXTENSION, &(yylsp[-3]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-2].str); (yyval.pval)->u1.str = (yyvsp[-2].str);
@ -2190,7 +2189,7 @@ yyreduce:
break; break;
case 47: case 47:
#line 284 "ael.y" #line 283 "ael.y"
{ {
(yyval.pval) = npval2(PV_EXTENSION, &(yylsp[-6]), &(yylsp[0])); (yyval.pval) = npval2(PV_EXTENSION, &(yylsp[-6]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-2].str); (yyval.pval)->u1.str = (yyvsp[-2].str);
@ -2199,7 +2198,7 @@ yyreduce:
break; break;
case 48: case 48:
#line 289 "ael.y" #line 288 "ael.y"
{ {
(yyval.pval) = npval2(PV_EXTENSION, &(yylsp[-7]), &(yylsp[0])); (yyval.pval) = npval2(PV_EXTENSION, &(yylsp[-7]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-2].str); (yyval.pval)->u1.str = (yyvsp[-2].str);
@ -2209,49 +2208,49 @@ yyreduce:
break; break;
case 49: case 49:
#line 298 "ael.y" #line 297 "ael.y"
{(yyval.pval)=(yyvsp[0].pval);;} {(yyval.pval)=(yyvsp[0].pval);;}
break; break;
case 50: case 50:
#line 299 "ael.y" #line 298 "ael.y"
{ (yyval.pval) = linku1((yyvsp[-1].pval), (yyvsp[0].pval)); ;} { (yyval.pval) = linku1((yyvsp[-1].pval), (yyvsp[0].pval)); ;}
break; break;
case 51: case 51:
#line 300 "ael.y" #line 299 "ael.y"
{(yyval.pval)=(yyvsp[-1].pval);;} {(yyval.pval)=(yyvsp[-1].pval);;}
break; break;
case 52: case 52:
#line 303 "ael.y" #line 302 "ael.y"
{ reset_parencount(parseio->scanner); ;} { reset_parencount(parseio->scanner); ;}
break; break;
case 53: case 53:
#line 303 "ael.y" #line 302 "ael.y"
{ {
(yyval.pval)= npval2(PV_IF, &(yylsp[-4]), &(yylsp[0])); (yyval.pval)= npval2(PV_IF, &(yylsp[-4]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-1].str); ;} (yyval.pval)->u1.str = (yyvsp[-1].str); ;}
break; break;
case 54: case 54:
#line 308 "ael.y" #line 307 "ael.y"
{ reset_parencount(parseio->scanner); ;} { reset_parencount(parseio->scanner); ;}
break; break;
case 55: case 55:
#line 308 "ael.y" #line 307 "ael.y"
{ {
(yyval.pval) = npval2(PV_RANDOM, &(yylsp[-4]), &(yylsp[0])); (yyval.pval) = npval2(PV_RANDOM, &(yylsp[-4]), &(yylsp[0]));
(yyval.pval)->u1.str=(yyvsp[-1].str);;} (yyval.pval)->u1.str=(yyvsp[-1].str);;}
break; break;
case 56: case 56:
#line 314 "ael.y" #line 313 "ael.y"
{ {
(yyval.pval) = npval2(PV_IFTIME, &(yylsp[-13]), &(yylsp[-9])); /* XXX really @5 or more ? */ (yyval.pval) = npval2(PV_IFTIME, &(yylsp[-13]), &(yylsp[-13]));
(yyval.pval)->u1.list = npval2(PV_WORD, &(yylsp[-11]), &(yylsp[-11])); (yyval.pval)->u1.list = npval2(PV_WORD, &(yylsp[-11]), &(yylsp[-7]));
asprintf(&((yyval.pval)->u1.list->u1.str), "%s:%s:%s", (yyvsp[-11].str), (yyvsp[-9].str), (yyvsp[-7].str)); asprintf(&((yyval.pval)->u1.list->u1.str), "%s:%s:%s", (yyvsp[-11].str), (yyvsp[-9].str), (yyvsp[-7].str));
free((yyvsp[-11].str)); free((yyvsp[-11].str));
free((yyvsp[-9].str)); free((yyvsp[-9].str));
@ -2264,7 +2263,7 @@ yyreduce:
break; break;
case 57: case 57:
#line 326 "ael.y" #line 325 "ael.y"
{ {
(yyval.pval) = npval2(PV_IFTIME, &(yylsp[-9]), &(yylsp[-5])); /* XXX @5 or greater ? */ (yyval.pval) = npval2(PV_IFTIME, &(yylsp[-9]), &(yylsp[-5])); /* XXX @5 or greater ? */
(yyval.pval)->u1.list = nword((yyvsp[-7].str), &(yylsp[-7])); (yyval.pval)->u1.list = nword((yyvsp[-7].str), &(yylsp[-7]));
@ -2276,12 +2275,12 @@ yyreduce:
break; break;
case 58: case 58:
#line 342 "ael.y" #line 341 "ael.y"
{ (yyval.str) = (yyvsp[0].str);;} { (yyval.str) = (yyvsp[0].str);;}
break; break;
case 59: case 59:
#line 343 "ael.y" #line 342 "ael.y"
{ {
asprintf(&((yyval.str)), "%s%s", (yyvsp[-1].str), (yyvsp[0].str)); asprintf(&((yyval.str)), "%s%s", (yyvsp[-1].str), (yyvsp[0].str));
free((yyvsp[-1].str)); free((yyvsp[-1].str));
@ -2290,12 +2289,12 @@ yyreduce:
break; break;
case 60: case 60:
#line 350 "ael.y" #line 349 "ael.y"
{ (yyval.str) = (yyvsp[0].str);;} { (yyval.str) = (yyvsp[0].str);;}
break; break;
case 61: case 61:
#line 351 "ael.y" #line 350 "ael.y"
{ {
asprintf(&((yyval.str)), "%s%s", (yyvsp[-1].str), (yyvsp[0].str)); asprintf(&((yyval.str)), "%s%s", (yyvsp[-1].str), (yyvsp[0].str));
free((yyvsp[-1].str)); free((yyvsp[-1].str));
@ -2304,7 +2303,7 @@ yyreduce:
break; break;
case 62: case 62:
#line 356 "ael.y" #line 355 "ael.y"
{ {
asprintf(&((yyval.str)), "%s%s%s", (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str)); asprintf(&((yyval.str)), "%s%s%s", (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str));
free((yyvsp[-2].str)); free((yyvsp[-2].str));
@ -2314,12 +2313,12 @@ yyreduce:
break; break;
case 63: case 63:
#line 364 "ael.y" #line 363 "ael.y"
{ (yyval.str) = (yyvsp[0].str);;} { (yyval.str) = (yyvsp[0].str);;}
break; break;
case 64: case 64:
#line 365 "ael.y" #line 364 "ael.y"
{ {
asprintf(&((yyval.str)), "%s%s", (yyvsp[-1].str), (yyvsp[0].str)); asprintf(&((yyval.str)), "%s%s", (yyvsp[-1].str), (yyvsp[0].str));
free((yyvsp[-1].str)); free((yyvsp[-1].str));
@ -2327,7 +2326,7 @@ yyreduce:
break; break;
case 65: case 65:
#line 369 "ael.y" #line 368 "ael.y"
{ {
asprintf(&((yyval.str)), "%s:%s", (yyvsp[-2].str), (yyvsp[0].str)); asprintf(&((yyval.str)), "%s:%s", (yyvsp[-2].str), (yyvsp[0].str));
free((yyvsp[-2].str)); free((yyvsp[-2].str));
@ -2335,31 +2334,31 @@ yyreduce:
break; break;
case 66: case 66:
#line 375 "ael.y" #line 374 "ael.y"
{ reset_parencount(parseio->scanner); ;} { reset_parencount(parseio->scanner); ;}
break; break;
case 67: case 67:
#line 375 "ael.y" #line 374 "ael.y"
{ {
(yyval.pval) = npval2(PV_SWITCH, &(yylsp[-5]), &(yylsp[0])); (yyval.pval) = npval2(PV_SWITCH, &(yylsp[-5]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-2].str); ;} (yyval.pval)->u1.str = (yyvsp[-2].str); ;}
break; break;
case 68: case 68:
#line 383 "ael.y" #line 382 "ael.y"
{ {
(yyval.pval) = npval2(PV_STATEMENTBLOCK, &(yylsp[-2]), &(yylsp[0])); (yyval.pval) = npval2(PV_STATEMENTBLOCK, &(yylsp[-2]), &(yylsp[0]));
(yyval.pval)->u1.list = (yyvsp[-1].pval); ;} (yyval.pval)->u1.list = (yyvsp[-1].pval); ;}
break; break;
case 69: case 69:
#line 386 "ael.y" #line 385 "ael.y"
{reset_semicount(parseio->scanner);;} {reset_semicount(parseio->scanner);;}
break; break;
case 70: case 70:
#line 386 "ael.y" #line 385 "ael.y"
{ {
(yyval.pval) = npval2(PV_VARDEC, &(yylsp[-4]), &(yylsp[0])); (yyval.pval) = npval2(PV_VARDEC, &(yylsp[-4]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-4].str); (yyval.pval)->u1.str = (yyvsp[-4].str);
@ -2367,43 +2366,43 @@ yyreduce:
break; break;
case 71: case 71:
#line 390 "ael.y" #line 389 "ael.y"
{ {
(yyval.pval) = npval2(PV_GOTO, &(yylsp[-2]), &(yylsp[0])); (yyval.pval) = npval2(PV_GOTO, &(yylsp[-2]), &(yylsp[0]));
(yyval.pval)->u1.list = (yyvsp[-1].pval);;} (yyval.pval)->u1.list = (yyvsp[-1].pval);;}
break; break;
case 72: case 72:
#line 393 "ael.y" #line 392 "ael.y"
{ {
(yyval.pval) = npval2(PV_GOTO, &(yylsp[-2]), &(yylsp[0])); (yyval.pval) = npval2(PV_GOTO, &(yylsp[-2]), &(yylsp[0]));
(yyval.pval)->u1.list = (yyvsp[-1].pval);;} (yyval.pval)->u1.list = (yyvsp[-1].pval);;}
break; break;
case 73: case 73:
#line 396 "ael.y" #line 395 "ael.y"
{ {
(yyval.pval) = npval2(PV_LABEL, &(yylsp[-1]), &(yylsp[0])); (yyval.pval) = npval2(PV_LABEL, &(yylsp[-1]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-1].str); ;} (yyval.pval)->u1.str = (yyvsp[-1].str); ;}
break; break;
case 74: case 74:
#line 399 "ael.y" #line 398 "ael.y"
{reset_semicount(parseio->scanner);;} {reset_semicount(parseio->scanner);;}
break; break;
case 75: case 75:
#line 400 "ael.y" #line 399 "ael.y"
{reset_semicount(parseio->scanner);;} {reset_semicount(parseio->scanner);;}
break; break;
case 76: case 76:
#line 401 "ael.y" #line 400 "ael.y"
{reset_parencount(parseio->scanner);;} {reset_parencount(parseio->scanner);;}
break; break;
case 77: case 77:
#line 401 "ael.y" #line 400 "ael.y"
{ {
(yyval.pval) = npval2(PV_FOR, &(yylsp[-11]), &(yylsp[0])); (yyval.pval) = npval2(PV_FOR, &(yylsp[-11]), &(yylsp[0]));
(yyval.pval)->u1.for_init = (yyvsp[-8].str); (yyval.pval)->u1.for_init = (yyvsp[-8].str);
@ -2413,12 +2412,12 @@ yyreduce:
break; break;
case 78: case 78:
#line 407 "ael.y" #line 406 "ael.y"
{reset_parencount(parseio->scanner);;} {reset_parencount(parseio->scanner);;}
break; break;
case 79: case 79:
#line 407 "ael.y" #line 406 "ael.y"
{ {
(yyval.pval) = npval2(PV_WHILE, &(yylsp[-5]), &(yylsp[0])); (yyval.pval) = npval2(PV_WHILE, &(yylsp[-5]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-2].str); (yyval.pval)->u1.str = (yyvsp[-2].str);
@ -2426,44 +2425,44 @@ yyreduce:
break; break;
case 80: case 80:
#line 411 "ael.y" #line 410 "ael.y"
{ {
(yyval.pval) = update_last((yyvsp[-1].pval), &(yylsp[0])); ;} (yyval.pval) = update_last((yyvsp[-1].pval), &(yylsp[0])); ;}
break; break;
case 81: case 81:
#line 413 "ael.y" #line 412 "ael.y"
{ {
(yyval.pval) = update_last((yyvsp[-2].pval), &(yylsp[0])); (yyval.pval) = update_last((yyvsp[-2].pval), &(yylsp[0]));
(yyval.pval)->u2.statements = (yyvsp[-1].pval);;} (yyval.pval)->u2.statements = (yyvsp[-1].pval);;}
break; break;
case 82: case 82:
#line 416 "ael.y" #line 415 "ael.y"
{ {
(yyval.pval) = update_last((yyvsp[-1].pval), &(yylsp[-1])); ;} (yyval.pval) = update_last((yyvsp[-1].pval), &(yylsp[-1])); ;}
break; break;
case 83: case 83:
#line 418 "ael.y" #line 417 "ael.y"
{ {
(yyval.pval) = update_last((yyvsp[-1].pval), &(yylsp[0])); ;} (yyval.pval) = update_last((yyvsp[-1].pval), &(yylsp[0])); ;}
break; break;
case 84: case 84:
#line 420 "ael.y" #line 419 "ael.y"
{ {
(yyval.pval)= npval2(PV_APPLICATION_CALL, &(yylsp[-1]), &(yylsp[0])); (yyval.pval)= npval2(PV_APPLICATION_CALL, &(yylsp[-1]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-1].str);;} (yyval.pval)->u1.str = (yyvsp[-1].str);;}
break; break;
case 85: case 85:
#line 423 "ael.y" #line 422 "ael.y"
{reset_semicount(parseio->scanner);;} {reset_semicount(parseio->scanner);;}
break; break;
case 86: case 86:
#line 423 "ael.y" #line 422 "ael.y"
{ {
char *bufx; char *bufx;
int tot=0; int tot=0;
@ -2500,22 +2499,22 @@ yyreduce:
break; break;
case 87: case 87:
#line 456 "ael.y" #line 455 "ael.y"
{ (yyval.pval) = npval2(PV_BREAK, &(yylsp[-1]), &(yylsp[0])); ;} { (yyval.pval) = npval2(PV_BREAK, &(yylsp[-1]), &(yylsp[0])); ;}
break; break;
case 88: case 88:
#line 457 "ael.y" #line 456 "ael.y"
{ (yyval.pval) = npval2(PV_RETURN, &(yylsp[-1]), &(yylsp[0])); ;} { (yyval.pval) = npval2(PV_RETURN, &(yylsp[-1]), &(yylsp[0])); ;}
break; break;
case 89: case 89:
#line 458 "ael.y" #line 457 "ael.y"
{ (yyval.pval) = npval2(PV_CONTINUE, &(yylsp[-1]), &(yylsp[0])); ;} { (yyval.pval) = npval2(PV_CONTINUE, &(yylsp[-1]), &(yylsp[0])); ;}
break; break;
case 90: case 90:
#line 459 "ael.y" #line 458 "ael.y"
{ {
(yyval.pval) = update_last((yyvsp[-2].pval), &(yylsp[-1])); /* XXX probably @3... */ (yyval.pval) = update_last((yyvsp[-2].pval), &(yylsp[-1])); /* XXX probably @3... */
(yyval.pval)->u2.statements = (yyvsp[-1].pval); (yyval.pval)->u2.statements = (yyvsp[-1].pval);
@ -2523,7 +2522,7 @@ yyreduce:
break; break;
case 91: case 91:
#line 463 "ael.y" #line 462 "ael.y"
{ {
(yyval.pval) = update_last((yyvsp[-2].pval), &(yylsp[-1])); /* XXX probably @3... */ (yyval.pval) = update_last((yyvsp[-2].pval), &(yylsp[-1])); /* XXX probably @3... */
(yyval.pval)->u2.statements = (yyvsp[-1].pval); (yyval.pval)->u2.statements = (yyvsp[-1].pval);
@ -2531,7 +2530,7 @@ yyreduce:
break; break;
case 92: case 92:
#line 467 "ael.y" #line 466 "ael.y"
{ {
(yyval.pval) = update_last((yyvsp[-2].pval), &(yylsp[-1])); /* XXX probably @3... */ (yyval.pval) = update_last((yyvsp[-2].pval), &(yylsp[-1])); /* XXX probably @3... */
(yyval.pval)->u2.statements = (yyvsp[-1].pval); (yyval.pval)->u2.statements = (yyvsp[-1].pval);
@ -2539,41 +2538,41 @@ yyreduce:
break; break;
case 93: case 93:
#line 471 "ael.y" #line 470 "ael.y"
{ (yyval.pval)=0; ;} { (yyval.pval)=0; ;}
break; break;
case 94: case 94:
#line 474 "ael.y" #line 473 "ael.y"
{ (yyval.pval) = (yyvsp[0].pval); ;} { (yyval.pval) = (yyvsp[0].pval); ;}
break; break;
case 95: case 95:
#line 475 "ael.y" #line 474 "ael.y"
{ (yyval.pval) = NULL ; ;} { (yyval.pval) = NULL ; ;}
break; break;
case 96: case 96:
#line 480 "ael.y" #line 479 "ael.y"
{ (yyval.pval) = nword((yyvsp[0].str), &(yylsp[0])); ;} { (yyval.pval) = nword((yyvsp[0].str), &(yylsp[0])); ;}
break; break;
case 97: case 97:
#line 481 "ael.y" #line 480 "ael.y"
{ {
(yyval.pval) = nword((yyvsp[-2].str), &(yylsp[-2])); (yyval.pval) = nword((yyvsp[-2].str), &(yylsp[-2]));
(yyval.pval)->next = nword((yyvsp[0].str), &(yylsp[0])); ;} (yyval.pval)->next = nword((yyvsp[0].str), &(yylsp[0])); ;}
break; break;
case 98: case 98:
#line 484 "ael.y" #line 483 "ael.y"
{ {
(yyval.pval) = nword((yyvsp[-2].str), &(yylsp[-2])); (yyval.pval) = nword((yyvsp[-2].str), &(yylsp[-2]));
(yyval.pval)->next = nword((yyvsp[0].str), &(yylsp[0])); ;} (yyval.pval)->next = nword((yyvsp[0].str), &(yylsp[0])); ;}
break; break;
case 99: case 99:
#line 487 "ael.y" #line 486 "ael.y"
{ {
(yyval.pval) = nword((yyvsp[-4].str), &(yylsp[-4])); (yyval.pval) = nword((yyvsp[-4].str), &(yylsp[-4]));
(yyval.pval)->next = nword((yyvsp[-2].str), &(yylsp[-2])); (yyval.pval)->next = nword((yyvsp[-2].str), &(yylsp[-2]));
@ -2581,7 +2580,7 @@ yyreduce:
break; break;
case 100: case 100:
#line 491 "ael.y" #line 490 "ael.y"
{ {
(yyval.pval) = nword((yyvsp[-4].str), &(yylsp[-4])); (yyval.pval) = nword((yyvsp[-4].str), &(yylsp[-4]));
(yyval.pval)->next = nword((yyvsp[-2].str), &(yylsp[-2])); (yyval.pval)->next = nword((yyvsp[-2].str), &(yylsp[-2]));
@ -2589,7 +2588,7 @@ yyreduce:
break; break;
case 101: case 101:
#line 495 "ael.y" #line 494 "ael.y"
{ {
(yyval.pval) = nword(strdup("default"), &(yylsp[-4])); (yyval.pval) = nword(strdup("default"), &(yylsp[-4]));
(yyval.pval)->next = nword((yyvsp[-2].str), &(yylsp[-2])); (yyval.pval)->next = nword((yyvsp[-2].str), &(yylsp[-2]));
@ -2597,7 +2596,7 @@ yyreduce:
break; break;
case 102: case 102:
#line 499 "ael.y" #line 498 "ael.y"
{ {
(yyval.pval) = nword(strdup("default"), &(yylsp[-4])); (yyval.pval) = nword(strdup("default"), &(yylsp[-4]));
(yyval.pval)->next = nword((yyvsp[-2].str), &(yylsp[-2])); (yyval.pval)->next = nword((yyvsp[-2].str), &(yylsp[-2]));
@ -2605,70 +2604,58 @@ yyreduce:
break; break;
case 103: case 103:
#line 506 "ael.y" #line 505 "ael.y"
{ {
(yyval.pval) = nword((yyvsp[0].str), &(yylsp[0])); (yyval.pval) = nword((yyvsp[0].str), &(yylsp[0]));
(yyval.pval)->next = nword(strdup("1"), &(yylsp[0])); ;} (yyval.pval)->next = nword(strdup("1"), &(yylsp[0])); ;}
break; break;
case 104: case 104:
#line 509 "ael.y" #line 508 "ael.y"
{ {
(yyval.pval) = nword((yyvsp[-2].str), &(yylsp[-2])); (yyval.pval) = nword((yyvsp[-2].str), &(yylsp[-2]));
(yyval.pval)->next = nword((yyvsp[0].str), &(yylsp[0])); ;} (yyval.pval)->next = nword((yyvsp[0].str), &(yylsp[0])); ;}
break; break;
case 105: case 105:
#line 512 "ael.y" #line 511 "ael.y"
{ { /* XXX they are stored in a different order */
(yyval.pval) = npval2(PV_WORD, &(yylsp[-4]), &(yylsp[-4])); (yyval.pval) = nword((yyvsp[0].str), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[0].str); /* XXX must check this */ (yyval.pval)->next = nword((yyvsp[-4].str), &(yylsp[-4]));
(yyval.pval)->next = npval2(PV_WORD, &(yylsp[-2]), &(yylsp[-2])); (yyval.pval)->next->next = nword((yyvsp[-2].str), &(yylsp[-2])); ;}
(yyval.pval)->next->u1.str = (yyvsp[-4].str);
(yyval.pval)->next->next = npval2(PV_WORD, &(yylsp[0]), &(yylsp[0]));
(yyval.pval)->next->next->u1.str = (yyvsp[-2].str); ;}
break; break;
case 106: case 106:
#line 519 "ael.y" #line 515 "ael.y"
{ {
(yyval.pval) = npval2(PV_WORD, &(yylsp[-2]), &(yylsp[-2])); (yyval.pval) = nword((yyvsp[0].str), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[0].str); (yyval.pval)->next = nword((yyvsp[-2].str), &(yylsp[-2]));
(yyval.pval)->next = npval2(PV_WORD, &(yylsp[0]), &(yylsp[0])); (yyval.pval)->next->next = nword(strdup("1"), &(yylsp[0])); ;}
(yyval.pval)->next->u1.str = (yyvsp[-2].str);
(yyval.pval)->next->next = npval2(PV_WORD, &(yylsp[0]), &(yylsp[0]));
(yyval.pval)->next->next->u1.str = strdup("1"); ;}
break; break;
case 107: case 107:
#line 526 "ael.y" #line 519 "ael.y"
{ {
(yyval.pval) = npval2(PV_WORD, &(yylsp[-4]), &(yylsp[-4])); (yyval.pval) = nword(strdup("default"), &(yylsp[-4]));
(yyval.pval)->u1.str = strdup("default"); (yyval.pval)->next = nword((yyvsp[-4].str), &(yylsp[-4]));
(yyval.pval)->next = npval2(PV_WORD, &(yylsp[-2]), &(yylsp[-2])); (yyval.pval)->next->next = nword((yyvsp[-2].str), &(yylsp[-2])); ;}
(yyval.pval)->next->u1.str = (yyvsp[-4].str);
(yyval.pval)->next->next = npval2(PV_WORD, &(yylsp[0]), &(yylsp[0]));
(yyval.pval)->next->next->u1.str = (yyvsp[-2].str); ;}
break; break;
case 108: case 108:
#line 533 "ael.y" #line 523 "ael.y"
{ {
(yyval.pval) = npval2(PV_WORD, &(yylsp[-2]), &(yylsp[-2])); (yyval.pval) = nword(strdup("default"), &(yylsp[-2]));
(yyval.pval)->u1.str = strdup("default"); (yyval.pval)->next = nword((yyvsp[-2].str), &(yylsp[0]));
(yyval.pval)->next = npval2(PV_WORD, &(yylsp[0]), &(yylsp[0])); (yyval.pval)->next->next = nword( strdup("1"), &(yylsp[0])); ;}
(yyval.pval)->next->u1.str = (yyvsp[-2].str);
(yyval.pval)->next->next = npval2(PV_WORD, &(yylsp[0]), &(yylsp[0]));
(yyval.pval)->next->next->u1.str = strdup("1"); ;}
break; break;
case 109: case 109:
#line 542 "ael.y" #line 529 "ael.y"
{reset_argcount(parseio->scanner);;} {reset_argcount(parseio->scanner);;}
break; break;
case 110: case 110:
#line 542 "ael.y" #line 529 "ael.y"
{ {
/* XXX original code had @2 but i think we need @5 */ /* XXX original code had @2 but i think we need @5 */
(yyval.pval) = npval2(PV_MACRO_CALL, &(yylsp[-4]), &(yylsp[0])); (yyval.pval) = npval2(PV_MACRO_CALL, &(yylsp[-4]), &(yylsp[0]));
@ -2677,19 +2664,19 @@ yyreduce:
break; break;
case 111: case 111:
#line 547 "ael.y" #line 534 "ael.y"
{ {
(yyval.pval)= npval2(PV_MACRO_CALL, &(yylsp[-2]), &(yylsp[0])); (yyval.pval)= npval2(PV_MACRO_CALL, &(yylsp[-2]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-2].str); ;} (yyval.pval)->u1.str = (yyvsp[-2].str); ;}
break; break;
case 112: case 112:
#line 555 "ael.y" #line 542 "ael.y"
{reset_argcount(parseio->scanner);;} {reset_argcount(parseio->scanner);;}
break; break;
case 113: case 113:
#line 555 "ael.y" #line 542 "ael.y"
{ {
if (strcasecmp((yyvsp[-2].str),"goto") == 0) { if (strcasecmp((yyvsp[-2].str),"goto") == 0) {
(yyval.pval) = npval2(PV_GOTO, &(yylsp[-2]), &(yylsp[-1])); (yyval.pval) = npval2(PV_GOTO, &(yylsp[-2]), &(yylsp[-1]));
@ -2702,7 +2689,7 @@ yyreduce:
break; break;
case 114: case 114:
#line 566 "ael.y" #line 553 "ael.y"
{ {
(yyval.pval) = update_last((yyvsp[-2].pval), &(yylsp[0])); (yyval.pval) = update_last((yyvsp[-2].pval), &(yylsp[0]));
if( (yyval.pval)->type == PV_GOTO ) if( (yyval.pval)->type == PV_GOTO )
@ -2713,51 +2700,51 @@ yyreduce:
break; break;
case 115: case 115:
#line 573 "ael.y" #line 560 "ael.y"
{ (yyval.pval) = update_last((yyvsp[-1].pval), &(yylsp[0])); ;} { (yyval.pval) = update_last((yyvsp[-1].pval), &(yylsp[0])); ;}
break; break;
case 116: case 116:
#line 576 "ael.y" #line 563 "ael.y"
{ (yyval.str) = (yyvsp[0].str) ;} { (yyval.str) = (yyvsp[0].str) ;}
break; break;
case 117: case 117:
#line 577 "ael.y" #line 564 "ael.y"
{ (yyval.str) = strdup(""); ;} { (yyval.str) = strdup(""); ;}
break; break;
case 118: case 118:
#line 580 "ael.y" #line 567 "ael.y"
{ (yyval.pval) = nword((yyvsp[0].str), &(yylsp[0])); ;} { (yyval.pval) = nword((yyvsp[0].str), &(yylsp[0])); ;}
break; break;
case 119: case 119:
#line 581 "ael.y" #line 568 "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)= npval(PV_WORD,0/*@1.first_line*/,0/*@1.last_line*/,0/* @1.first_column*/, 0/*@1.last_column*/);
(yyval.pval)->u1.str = strdup(""); ;} (yyval.pval)->u1.str = strdup(""); ;}
break; break;
case 120: case 120:
#line 584 "ael.y" #line 571 "ael.y"
{ {
pval *z = nword((yyvsp[0].str), &(yylsp[0])); pval *z = nword((yyvsp[0].str), &(yylsp[0]));
(yyval.pval) = linku1((yyvsp[-2].pval), z); ;} (yyval.pval) = linku1((yyvsp[-2].pval), z); ;}
break; break;
case 121: case 121:
#line 589 "ael.y" #line 576 "ael.y"
{(yyval.pval)=(yyvsp[0].pval);;} {(yyval.pval)=(yyvsp[0].pval);;}
break; break;
case 122: case 122:
#line 590 "ael.y" #line 577 "ael.y"
{ (yyval.pval) = linku1((yyvsp[-1].pval), (yyvsp[0].pval)); ;} { (yyval.pval) = linku1((yyvsp[-1].pval), (yyvsp[0].pval)); ;}
break; break;
case 123: case 123:
#line 593 "ael.y" #line 580 "ael.y"
{ {
(yyval.pval) = npval2(PV_CASE, &(yylsp[-3]), &(yylsp[-1])); /* XXX 3 or 4 ? */ (yyval.pval) = npval2(PV_CASE, &(yylsp[-3]), &(yylsp[-1])); /* XXX 3 or 4 ? */
(yyval.pval)->u1.str = (yyvsp[-2].str); (yyval.pval)->u1.str = (yyvsp[-2].str);
@ -2765,7 +2752,7 @@ yyreduce:
break; break;
case 124: case 124:
#line 597 "ael.y" #line 584 "ael.y"
{ {
(yyval.pval) = npval2(PV_DEFAULT, &(yylsp[-2]), &(yylsp[0])); (yyval.pval) = npval2(PV_DEFAULT, &(yylsp[-2]), &(yylsp[0]));
(yyval.pval)->u1.str = NULL; (yyval.pval)->u1.str = NULL;
@ -2773,7 +2760,7 @@ yyreduce:
break; break;
case 125: case 125:
#line 601 "ael.y" #line 588 "ael.y"
{ {
(yyval.pval) = npval2(PV_PATTERN, &(yylsp[-3]), &(yylsp[0])); /* XXX@3 or @4 ? */ (yyval.pval) = npval2(PV_PATTERN, &(yylsp[-3]), &(yylsp[0])); /* XXX@3 or @4 ? */
(yyval.pval)->u1.str = (yyvsp[-2].str); (yyval.pval)->u1.str = (yyvsp[-2].str);
@ -2781,43 +2768,43 @@ yyreduce:
break; break;
case 126: case 126:
#line 605 "ael.y" #line 592 "ael.y"
{ {
(yyval.pval) = npval2(PV_CASE, &(yylsp[-2]), &(yylsp[0])); (yyval.pval) = npval2(PV_CASE, &(yylsp[-2]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-1].str);;} (yyval.pval)->u1.str = (yyvsp[-1].str);;}
break; break;
case 127: case 127:
#line 608 "ael.y" #line 595 "ael.y"
{ {
(yyval.pval) = npval2(PV_DEFAULT, &(yylsp[-1]), &(yylsp[0])); (yyval.pval) = npval2(PV_DEFAULT, &(yylsp[-1]), &(yylsp[0]));
(yyval.pval)->u1.str = NULL;;} (yyval.pval)->u1.str = NULL;;}
break; break;
case 128: case 128:
#line 611 "ael.y" #line 598 "ael.y"
{ {
(yyval.pval) = npval2(PV_PATTERN, &(yylsp[-2]), &(yylsp[0])); (yyval.pval) = npval2(PV_PATTERN, &(yylsp[-2]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-1].str);;} (yyval.pval)->u1.str = (yyvsp[-1].str);;}
break; break;
case 129: case 129:
#line 616 "ael.y" #line 603 "ael.y"
{(yyval.pval) = (yyvsp[0].pval);;} {(yyval.pval) = (yyvsp[0].pval);;}
break; break;
case 130: case 130:
#line 617 "ael.y" #line 604 "ael.y"
{ (yyval.pval) = linku1((yyvsp[-1].pval), (yyvsp[0].pval)); ;} { (yyval.pval) = linku1((yyvsp[-1].pval), (yyvsp[0].pval)); ;}
break; break;
case 131: case 131:
#line 620 "ael.y" #line 607 "ael.y"
{(yyval.pval)=(yyvsp[0].pval);;} {(yyval.pval)=(yyvsp[0].pval);;}
break; break;
case 132: case 132:
#line 621 "ael.y" #line 608 "ael.y"
{ {
(yyval.pval) = npval2(PV_CATCH, &(yylsp[-4]), &(yylsp[0])); (yyval.pval) = npval2(PV_CATCH, &(yylsp[-4]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-3].str); (yyval.pval)->u1.str = (yyvsp[-3].str);
@ -2825,61 +2812,55 @@ yyreduce:
break; break;
case 133: case 133:
#line 627 "ael.y" #line 614 "ael.y"
{ {
(yyval.pval) = npval2(PV_SWITCHES, &(yylsp[-1]), &(yylsp[0])); (yyval.pval) = npval2(PV_SWITCHES, &(yylsp[-1]), &(yylsp[0]));
(yyval.pval)->u1.list = (yyvsp[0].pval); ;} (yyval.pval)->u1.list = (yyvsp[0].pval); ;}
break; break;
case 134: case 134:
#line 632 "ael.y" #line 619 "ael.y"
{ {
(yyval.pval) = npval2(PV_ESWITCHES, &(yylsp[-1]), &(yylsp[0])); (yyval.pval) = npval2(PV_ESWITCHES, &(yylsp[-1]), &(yylsp[0]));
(yyval.pval)->u1.list = (yyvsp[0].pval); ;} (yyval.pval)->u1.list = (yyvsp[0].pval); ;}
break; break;
case 135: case 135:
#line 637 "ael.y" #line 624 "ael.y"
{ (yyval.pval) = (yyvsp[-1].pval); ;} { (yyval.pval) = (yyvsp[-1].pval); ;}
break; break;
case 136: case 136:
#line 638 "ael.y" #line 625 "ael.y"
{ (yyval.pval) = NULL; ;} { (yyval.pval) = NULL; ;}
break; break;
case 137: case 137:
#line 641 "ael.y" #line 628 "ael.y"
{ { (yyval.pval) = nword((yyvsp[-1].str), &(yylsp[-1])); ;}
(yyval.pval) = npval2(PV_WORD, &(yylsp[-1]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-1].str);;}
break; break;
case 138: case 138:
#line 644 "ael.y" #line 629 "ael.y"
{ {
pval *z = npval2(PV_WORD, &(yylsp[-1]), &(yylsp[0])); pval *z = nword((yyvsp[-1].str), &(yylsp[-1]));
z->u1.str = (yyvsp[-1].str);
(yyval.pval) = linku1((yyvsp[-2].pval), z); ;} (yyval.pval) = linku1((yyvsp[-2].pval), z); ;}
break; break;
case 139: case 139:
#line 648 "ael.y" #line 632 "ael.y"
{(yyval.pval)=(yyvsp[-1].pval);;} {(yyval.pval)=(yyvsp[-1].pval);;}
break; break;
case 140: case 140:
#line 651 "ael.y" #line 635 "ael.y"
{ { (yyval.pval) = nword((yyvsp[-1].str), &(yylsp[-1])); ;}
(yyval.pval) = npval2(PV_WORD, &(yylsp[-1]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-1].str);;}
break; break;
case 141: case 141:
#line 655 "ael.y" #line 637 "ael.y"
{ {
(yyval.pval) = npval2(PV_WORD, &(yylsp[-13]), &(yylsp[-12])); (yyval.pval) = nword((yyvsp[-13].str), &(yylsp[-13]));
(yyval.pval)->u1.str = (yyvsp[-13].str);
(yyval.pval)->u2.arglist = npval2(PV_WORD, &(yylsp[-11]), &(yylsp[-7])); (yyval.pval)->u2.arglist = npval2(PV_WORD, &(yylsp[-11]), &(yylsp[-7]));
asprintf( &((yyval.pval)->u2.arglist->u1.str), "%s:%s:%s", (yyvsp[-11].str), (yyvsp[-9].str), (yyvsp[-7].str)); asprintf( &((yyval.pval)->u2.arglist->u1.str), "%s:%s:%s", (yyvsp[-11].str), (yyvsp[-9].str), (yyvsp[-7].str));
free((yyvsp[-11].str)); free((yyvsp[-11].str));
@ -2893,10 +2874,9 @@ yyreduce:
break; break;
case 142: case 142:
#line 668 "ael.y" #line 649 "ael.y"
{ {
(yyval.pval) = npval2(PV_WORD, &(yylsp[-9]), &(yylsp[-8])); (yyval.pval) = nword((yyvsp[-9].str), &(yylsp[-9]));
(yyval.pval)->u1.str = (yyvsp[-9].str);
(yyval.pval)->u2.arglist = nword((yyvsp[-7].str), &(yylsp[-7])); (yyval.pval)->u2.arglist = nword((yyvsp[-7].str), &(yylsp[-7]));
(yyval.pval)->u2.arglist->next = nword((yyvsp[-5].str), &(yylsp[-5])); (yyval.pval)->u2.arglist->next = nword((yyvsp[-5].str), &(yylsp[-5]));
(yyval.pval)->u2.arglist->next->next = nword((yyvsp[-3].str), &(yylsp[-3])); (yyval.pval)->u2.arglist->next->next = nword((yyvsp[-3].str), &(yylsp[-3]));
@ -2906,20 +2886,18 @@ yyreduce:
break; break;
case 143: case 143:
#line 677 "ael.y" #line 657 "ael.y"
{ {
pval *z = npval2(PV_WORD, &(yylsp[-1]), &(yylsp[0])); /* XXX don't we need @1-@3 ?*/ pval *z = nword((yyvsp[-1].str), &(yylsp[-1]));
z->u1.str = (yyvsp[-1].str);
(yyval.pval) = linku1((yyvsp[-2].pval), z); ;} (yyval.pval) = linku1((yyvsp[-2].pval), z); ;}
break; break;
case 144: case 144:
#line 682 "ael.y" #line 661 "ael.y"
{ {
pval *z = npval2(PV_WORD, &(yylsp[-13]), &(yylsp[-12])); pval *z = nword((yyvsp[-13].str), &(yylsp[-13]));
z->u1.str = (yyvsp[-13].str);
(yyval.pval) = linku1((yyvsp[-14].pval), z); (yyval.pval) = linku1((yyvsp[-14].pval), z);
z->u2.arglist = npval2(PV_WORD, &(yylsp[-11]), &(yylsp[-11])); z->u2.arglist = npval2(PV_WORD, &(yylsp[-11]), &(yylsp[-7]));
asprintf( &((yyval.pval)->u2.arglist->u1.str), "%s:%s:%s", (yyvsp[-11].str), (yyvsp[-9].str), (yyvsp[-7].str)); asprintf( &((yyval.pval)->u2.arglist->u1.str), "%s:%s:%s", (yyvsp[-11].str), (yyvsp[-9].str), (yyvsp[-7].str));
free((yyvsp[-11].str)); free((yyvsp[-11].str));
free((yyvsp[-9].str)); free((yyvsp[-9].str));
@ -2932,7 +2910,7 @@ yyreduce:
break; break;
case 145: case 145:
#line 696 "ael.y" #line 674 "ael.y"
{ {
pval *z = npval2(PV_WORD, &(yylsp[-9]), &(yylsp[-8])); pval *z = npval2(PV_WORD, &(yylsp[-9]), &(yylsp[-8]));
(yyval.pval) = linku1((yyvsp[-10].pval), z); (yyval.pval) = linku1((yyvsp[-10].pval), z);
@ -2947,29 +2925,29 @@ yyreduce:
break; break;
case 146: case 146:
#line 707 "ael.y" #line 685 "ael.y"
{(yyval.pval)=(yyvsp[-1].pval);;} {(yyval.pval)=(yyvsp[-1].pval);;}
break; break;
case 147: case 147:
#line 710 "ael.y" #line 688 "ael.y"
{ (yyval.str) = (yyvsp[0].str);;} { (yyval.str) = (yyvsp[0].str);;}
break; break;
case 148: case 148:
#line 711 "ael.y" #line 689 "ael.y"
{(yyval.str)=strdup("default");;} {(yyval.str)=strdup("default");;}
break; break;
case 149: case 149:
#line 714 "ael.y" #line 692 "ael.y"
{ {
(yyval.pval) = npval2(PV_INCLUDES, &(yylsp[-3]), &(yylsp[0])); (yyval.pval) = npval2(PV_INCLUDES, &(yylsp[-3]), &(yylsp[0]));
(yyval.pval)->u1.list = (yyvsp[-1].pval);;} (yyval.pval)->u1.list = (yyvsp[-1].pval);;}
break; break;
case 150: case 150:
#line 717 "ael.y" #line 695 "ael.y"
{ {
(yyval.pval) = npval2(PV_INCLUDES, &(yylsp[-2]), &(yylsp[0]));;} (yyval.pval) = npval2(PV_INCLUDES, &(yylsp[-2]), &(yylsp[0]));;}
break; break;
@ -2979,7 +2957,7 @@ yyreduce:
} }
/* Line 1126 of yacc.c. */ /* Line 1126 of yacc.c. */
#line 2983 "ael.tab.c" #line 2961 "ael.tab.c"
yyvsp -= yylen; yyvsp -= yylen;
yyssp -= yylen; yyssp -= yylen;
@ -3254,7 +3232,7 @@ yyreturn:
} }
#line 722 "ael.y" #line 700 "ael.y"
static char *token_equivs1[] = static char *token_equivs1[] =

@ -238,8 +238,7 @@ global_statement : word EQ { reset_semicount(parseio->scanner); } word SEMI {
arglist : word { $$= nword($1, &@1); } arglist : word { $$= nword($1, &@1); }
| arglist COMMA word { | arglist COMMA word {
pval *z = npval2(PV_WORD, &@1, &@3); pval *z = nword($3, &@3);
z->u1.str = $3;
$$ = linku1($1, z); } $$ = linku1($1, z); }
| arglist error {$$=$1;} | arglist error {$$=$1;}
; ;
@ -312,8 +311,8 @@ random_head : KW_RANDOM LP { reset_parencount(parseio->scanner); } word_list RP
iftime_head : KW_IFTIME LP word3_list COLON word3_list COLON word3_list iftime_head : KW_IFTIME LP word3_list COLON word3_list COLON word3_list
BAR word3_list BAR word3_list BAR word3_list RP { BAR word3_list BAR word3_list BAR word3_list RP {
$$ = npval2(PV_IFTIME, &@1, &@5); /* XXX really @5 or more ? */ $$ = npval2(PV_IFTIME, &@1, &@1);
$$->u1.list = npval2(PV_WORD, &@3, &@3); $$->u1.list = npval2(PV_WORD, &@3, &@7);
asprintf(&($$->u1.list->u1.str), "%s:%s:%s", $3, $5, $7); asprintf(&($$->u1.list->u1.str), "%s:%s:%s", $3, $5, $7);
free($3); free($3);
free($5); free($5);
@ -509,34 +508,22 @@ jumptarget : goto_word {
| goto_word COMMA goto_word { | goto_word COMMA goto_word {
$$ = nword($1, &@1); $$ = nword($1, &@1);
$$->next = nword($3, &@3); } $$->next = nword($3, &@3); }
| goto_word COMMA word AT word { | goto_word COMMA word AT word { /* XXX they are stored in a different order */
$$ = npval2(PV_WORD, &@1, &@1); $$ = nword($5, &@5);
$$->u1.str = $5; /* XXX must check this */ $$->next = nword($1, &@1);
$$->next = npval2(PV_WORD, &@3, &@3); $$->next->next = nword($3, &@3); }
$$->next->u1.str = $1;
$$->next->next = npval2(PV_WORD, &@5, &@5);
$$->next->next->u1.str = $3; }
| goto_word AT goto_word { | goto_word AT goto_word {
$$ = npval2(PV_WORD, &@1, &@1); $$ = nword($3, &@3);
$$->u1.str = $3; $$->next = nword($1, &@1);
$$->next = npval2(PV_WORD, &@3, &@3); $$->next->next = nword(strdup("1"), &@3); }
$$->next->u1.str = $1;
$$->next->next = npval2(PV_WORD, &@3, &@3);
$$->next->next->u1.str = strdup("1"); }
| goto_word COMMA word AT KW_DEFAULT { | goto_word COMMA word AT KW_DEFAULT {
$$ = npval2(PV_WORD, &@1, &@1); $$ = nword(strdup("default"), &@1);
$$->u1.str = strdup("default"); $$->next = nword($1, &@1);
$$->next = npval2(PV_WORD, &@3, &@3); $$->next->next = nword($3, &@3); }
$$->next->u1.str = $1;
$$->next->next = npval2(PV_WORD, &@5, &@5);
$$->next->next->u1.str = $3; }
| goto_word AT KW_DEFAULT { | goto_word AT KW_DEFAULT {
$$ = npval2(PV_WORD, &@1, &@1); $$ = nword(strdup("default"), &@1);
$$->u1.str = strdup("default"); $$->next = nword($1, &@3);
$$->next = npval2(PV_WORD, &@3, &@3); $$->next->next = nword( strdup("1"), &@3); }
$$->next->u1.str = $1;
$$->next->next = npval2(PV_WORD, &@3, &@3);
$$->next->next->u1.str = strdup("1"); }
; ;
macro_call : word LP {reset_argcount(parseio->scanner);} eval_arglist RP { macro_call : word LP {reset_argcount(parseio->scanner);} eval_arglist RP {
@ -638,23 +625,17 @@ switchlist_block : LC switchlist RC { $$ = $2; }
| LC RC { $$ = NULL; } | LC RC { $$ = NULL; }
; ;
switchlist : word SEMI { switchlist : word SEMI { $$ = nword($1, &@1); }
$$ = npval2(PV_WORD, &@1, &@2);
$$->u1.str = $1;}
| switchlist word SEMI { | switchlist word SEMI {
pval *z = npval2(PV_WORD, &@2, &@3); pval *z = nword($2, &@2);
z->u1.str = $2;
$$ = linku1($1, z); } $$ = linku1($1, z); }
| switchlist error {$$=$1;} | switchlist error {$$=$1;}
; ;
includeslist : includedname SEMI { includeslist : includedname SEMI { $$ = nword($1, &@1); }
$$ = npval2(PV_WORD, &@1, &@2);
$$->u1.str = $1;}
| includedname BAR word3_list COLON word3_list COLON word3_list | includedname BAR word3_list COLON word3_list COLON word3_list
BAR word3_list BAR word3_list BAR word3_list SEMI { BAR word3_list BAR word3_list BAR word3_list SEMI {
$$ = npval2(PV_WORD, &@1, &@2); $$ = nword($1, &@1);
$$->u1.str = $1;
$$->u2.arglist = npval2(PV_WORD, &@3, &@7); $$->u2.arglist = npval2(PV_WORD, &@3, &@7);
asprintf( &($$->u2.arglist->u1.str), "%s:%s:%s", $3, $5, $7); asprintf( &($$->u2.arglist->u1.str), "%s:%s:%s", $3, $5, $7);
free($3); free($3);
@ -666,8 +647,7 @@ includeslist : includedname SEMI {
prev_word=0; prev_word=0;
} }
| includedname BAR word BAR word3_list BAR word3_list BAR word3_list SEMI { | includedname BAR word BAR word3_list BAR word3_list BAR word3_list SEMI {
$$ = npval2(PV_WORD, &@1, &@2); $$ = nword($1, &@1);
$$->u1.str = $1;
$$->u2.arglist = nword($3, &@3); $$->u2.arglist = nword($3, &@3);
$$->u2.arglist->next = nword($5, &@5); $$->u2.arglist->next = nword($5, &@5);
$$->u2.arglist->next->next = nword($7, &@7); $$->u2.arglist->next->next = nword($7, &@7);
@ -675,15 +655,13 @@ includeslist : includedname SEMI {
prev_word=0; prev_word=0;
} }
| includeslist includedname SEMI { | includeslist includedname SEMI {
pval *z = npval2(PV_WORD, &@2, &@3); /* XXX don't we need @1-@3 ?*/ pval *z = nword($2, &@2);
z->u1.str = $2;
$$ = linku1($1, z); } $$ = linku1($1, z); }
| includeslist includedname BAR word3_list COLON word3_list COLON word3_list | includeslist includedname BAR word3_list COLON word3_list COLON word3_list
BAR word3_list BAR word3_list BAR word3_list SEMI { BAR word3_list BAR word3_list BAR word3_list SEMI {
pval *z = npval2(PV_WORD, &@2, &@3); pval *z = nword($2, &@2);
z->u1.str = $2;
$$ = linku1($1, z); $$ = linku1($1, z);
z->u2.arglist = npval2(PV_WORD, &@4, &@4); z->u2.arglist = npval2(PV_WORD, &@4, &@8);
asprintf( &($$->u2.arglist->u1.str), "%s:%s:%s", $4, $6, $8); asprintf( &($$->u2.arglist->u1.str), "%s:%s:%s", $4, $6, $8);
free($4); free($4);
free($6); free($6);

Loading…
Cancel
Save