]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
last batch of npval -> npval2 changes
authorLuigi Rizzo <rizzo@icir.org>
Fri, 28 Apr 2006 11:20:21 +0000 (11:20 +0000)
committerLuigi Rizzo <rizzo@icir.org>
Fri, 28 Apr 2006 11:20:21 +0000 (11:20 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@23109 65c4cc65-6c06-0410-ace0-fbb531ad65f3

pbx/ael/ael.tab.c
pbx/ael/ael.y

index 303267207ab1e922dd3582bbb25a501adf83b7ba..a238eb99043b66b3f16251b160656e4aed12936a 100644 (file)
@@ -569,14 +569,14 @@ static const unsigned short int yyrline[] =
      308,   309,   312,   315,   315,   320,   320,   325,   341,   361,
      362,   369,   370,   375,   383,   384,   388,   394,   394,   402,
      405,   405,   409,   412,   415,   418,   419,   420,   418,   426,
-     426,   430,   434,   439,   443,   447,   450,   450,   483,   485,
-     487,   489,   494,   500,   505,   511,   516,   522,   525,   526,
-     531,   536,   543,   550,   557,   566,   571,   576,   583,   590,
-     597,   606,   606,   611,   616,   616,   626,   632,   635,   638,
-     641,   646,   653,   654,   659,   663,   667,   671,   674,   677,
-     682,   683,   688,   689,   695,   698,   702,   703,   706,   709,
-     714,   717,   718,   734,   747,   752,   767,   780,   783,   784,
-     787,   790
+     426,   430,   434,   439,   443,   447,   450,   450,   483,   484,
+     485,   486,   491,   497,   502,   508,   513,   519,   522,   524,
+     529,   534,   541,   548,   555,   564,   569,   574,   581,   588,
+     595,   604,   604,   609,   614,   614,   624,   630,   633,   636,
+     639,   644,   651,   652,   657,   661,   665,   669,   672,   675,
+     680,   681,   686,   687,   693,   696,   700,   703,   707,   710,
+     715,   718,   721,   738,   751,   756,   774,   788,   791,   792,
+     795,   798
 };
 #endif
 
@@ -2101,14 +2101,14 @@ yyreduce:
   case 29:
 #line 248 "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)= npval2(PV_WORD, &(yylsp[0]), &(yylsp[0]));
                (yyval.pval)->u1.str = (yyvsp[0].str); ;}
     break;
 
   case 30:
 #line 251 "ael.y"
     {
-               pval *z = npval(PV_WORD,(yylsp[-2]).first_line,(yylsp[0]).last_line, (yylsp[-2]).first_column, (yylsp[0]).last_column);
+               pval *z = npval2(PV_WORD, &(yylsp[-2]), &(yylsp[0]));
                z->u1.str = (yyvsp[0].str);
                (yyval.pval)=(yyvsp[-2].pval);
                linku1((yyval.pval),z); ;}
@@ -2199,7 +2199,7 @@ yyreduce:
   case 46:
 #line 285 "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) = npval2(PV_EXTENSION, &(yylsp[-2]), &(yylsp[0]));
                (yyval.pval)->u1.str = (yyvsp[-2].str);
                (yyval.pval)->u2.statements = (yyvsp[0].pval); ;}
     break;
@@ -2207,7 +2207,7 @@ yyreduce:
   case 47:
 #line 289 "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) = npval2(PV_EXTENSION, &(yylsp[-3]), &(yylsp[0]));
                (yyval.pval)->u1.str = (yyvsp[-2].str);
                (yyval.pval)->u2.statements = (yyvsp[0].pval);
                (yyval.pval)->u4.regexten=1;;}
@@ -2216,7 +2216,7 @@ yyreduce:
   case 48:
 #line 294 "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) = npval2(PV_EXTENSION, &(yylsp[-6]), &(yylsp[0]));
                (yyval.pval)->u1.str = (yyvsp[-2].str);
                (yyval.pval)->u2.statements = (yyvsp[0].pval);
                (yyval.pval)->u3.hints = (yyvsp[-4].str);;}
@@ -2225,7 +2225,7 @@ yyreduce:
   case 49:
 #line 299 "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) = npval2(PV_EXTENSION, &(yylsp[-7]), &(yylsp[0]));
                (yyval.pval)->u1.str = (yyvsp[-2].str);
                (yyval.pval)->u2.statements = (yyvsp[0].pval);
                (yyval.pval)->u4.regexten=1;
@@ -2257,7 +2257,7 @@ yyreduce:
   case 54:
 #line 315 "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)= npval2(PV_IF, &(yylsp[-4]), &(yylsp[0]));
                (yyval.pval)->u1.str = (yyvsp[-1].str); ;}
     break;
 
@@ -2269,7 +2269,7 @@ yyreduce:
   case 56:
 #line 320 "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) = npval2(PV_RANDOM, &(yylsp[-4]), &(yylsp[0]));
                (yyval.pval)->u1.str=(yyvsp[-1].str);;}
     break;
 
@@ -2375,7 +2375,7 @@ yyreduce:
   case 68:
 #line 394 "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) = npval2(PV_SWITCH, &(yylsp[-5]), &(yylsp[0]));
                (yyval.pval)->u1.str = (yyvsp[-2].str); ;}
     break;
 
@@ -2494,7 +2494,7 @@ yyreduce:
   case 85:
 #line 447 "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)= npval2(PV_APPLICATION_CALL, &(yylsp[-1]), &(yylsp[0]));
                (yyval.pval)->u1.str = (yyvsp[-1].str);;}
     break;
 
@@ -2509,7 +2509,7 @@ yyreduce:
                char *bufx;
                int tot=0;
                pval *pptr;
-               (yyval.pval) = npval(PV_VARDEC,(yylsp[-4]).first_line,(yylsp[0]).last_line, (yylsp[-4]).first_column, (yylsp[0]).last_column);
+               (yyval.pval) = npval2(PV_VARDEC, &(yylsp[-4]), &(yylsp[0]));
                (yyval.pval)->u2.val=(yyvsp[-1].str);
                /* rebuild the original string-- this is not an app call, it's an unwrapped vardec, with a func call on the LHS */
                /* string to big to fit in the buffer? */
@@ -2542,24 +2542,21 @@ yyreduce:
 
   case 88:
 #line 483 "ael.y"
-    {
-               (yyval.pval) = npval(PV_BREAK,(yylsp[-1]).first_line,(yylsp[0]).last_line, (yylsp[-1]).first_column, (yylsp[0]).last_column);;}
+    { (yyval.pval) = npval2(PV_BREAK, &(yylsp[-1]), &(yylsp[0])); ;}
     break;
 
   case 89:
-#line 485 "ael.y"
-    {
-               (yyval.pval) = npval(PV_RETURN,(yylsp[-1]).first_line,(yylsp[0]).last_line, (yylsp[-1]).first_column, (yylsp[0]).last_column);;}
+#line 484 "ael.y"
+    { (yyval.pval) = npval2(PV_RETURN, &(yylsp[-1]), &(yylsp[0])); ;}
     break;
 
   case 90:
-#line 487 "ael.y"
-    {
-               (yyval.pval) = npval(PV_CONTINUE,(yylsp[-1]).first_line,(yylsp[0]).last_line, (yylsp[-1]).first_column, (yylsp[0]).last_column);;}
+#line 485 "ael.y"
+    { (yyval.pval) = npval2(PV_CONTINUE, &(yylsp[-1]), &(yylsp[0])); ;}
     break;
 
   case 91:
-#line 489 "ael.y"
+#line 486 "ael.y"
     {
                (yyval.pval)=(yyvsp[-1].pval);
                (yyval.pval)->u2.statements = (yyvsp[0].pval);
@@ -2568,7 +2565,7 @@ yyreduce:
     break;
 
   case 92:
-#line 494 "ael.y"
+#line 491 "ael.y"
     {
                (yyval.pval)=(yyvsp[-3].pval);
                (yyval.pval)->u2.statements = (yyvsp[-2].pval);
@@ -2578,7 +2575,7 @@ yyreduce:
     break;
 
   case 93:
-#line 500 "ael.y"
+#line 497 "ael.y"
     {
                (yyval.pval)=(yyvsp[-1].pval);
                (yyval.pval)->u2.statements = (yyvsp[0].pval);
@@ -2587,7 +2584,7 @@ yyreduce:
     break;
 
   case 94:
-#line 505 "ael.y"
+#line 502 "ael.y"
     {
                (yyval.pval)=(yyvsp[-3].pval);
                (yyval.pval)->u2.statements = (yyvsp[-2].pval);
@@ -2597,7 +2594,7 @@ yyreduce:
     break;
 
   case 95:
-#line 511 "ael.y"
+#line 508 "ael.y"
     {
                (yyval.pval)=(yyvsp[-1].pval);
                (yyval.pval)->u2.statements = (yyvsp[0].pval);
@@ -2606,7 +2603,7 @@ yyreduce:
     break;
 
   case 96:
-#line 516 "ael.y"
+#line 513 "ael.y"
     {
                (yyval.pval)=(yyvsp[-3].pval);
                (yyval.pval)->u2.statements = (yyvsp[-2].pval);
@@ -2616,146 +2613,147 @@ yyreduce:
     break;
 
   case 97:
-#line 522 "ael.y"
+#line 519 "ael.y"
     { (yyval.pval)=0; ;}
     break;
 
   case 98:
-#line 525 "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);;}
+#line 522 "ael.y"
+    { (yyval.pval) = npval2(PV_WORD, &(yylsp[0]), &(yylsp[0]));
+               (yyval.pval)->u1.str = (yyvsp[0].str);;}
     break;
 
   case 99:
-#line 526 "ael.y"
+#line 524 "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) = npval2(PV_WORD, &(yylsp[-2]), &(yylsp[-2]));
                (yyval.pval)->u1.str = (yyvsp[-2].str);
-               (yyval.pval)->next = npval(PV_WORD,(yylsp[0]).first_line,(yylsp[0]).last_line, (yylsp[0]).first_column, (yylsp[0]).last_column);
+               (yyval.pval)->next = npval2(PV_WORD, &(yylsp[0]), &(yylsp[0]));
                (yyval.pval)->next->u1.str = (yyvsp[0].str);;}
     break;
 
   case 100:
-#line 531 "ael.y"
+#line 529 "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) = npval2(PV_WORD, &(yylsp[-2]), &(yylsp[-2]));
                (yyval.pval)->u1.str = (yyvsp[-2].str);
-               (yyval.pval)->next = npval(PV_WORD,(yylsp[0]).first_line,(yylsp[0]).last_line, (yylsp[0]).first_column, (yylsp[0]).last_column);
+               (yyval.pval)->next = npval2(PV_WORD, &(yylsp[0]), &(yylsp[0]));
                (yyval.pval)->next->u1.str = (yyvsp[0].str);;}
     break;
 
   case 101:
-#line 536 "ael.y"
+#line 534 "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) = npval2(PV_WORD, &(yylsp[-4]), &(yylsp[-4]));
                (yyval.pval)->u1.str = (yyvsp[-4].str);
-               (yyval.pval)->next = npval(PV_WORD,(yylsp[-2]).first_line,(yylsp[-2]).last_line, (yylsp[-2]).first_column, (yylsp[-2]).last_column);
+               (yyval.pval)->next = npval2(PV_WORD, &(yylsp[-2]), &(yylsp[-2]));
                (yyval.pval)->next->u1.str = (yyvsp[-2].str);
-               (yyval.pval)->next->next = npval(PV_WORD,(yylsp[0]).first_line,(yylsp[0]).last_line, (yylsp[0]).first_column, (yylsp[0]).last_column);
+               (yyval.pval)->next->next = npval2(PV_WORD, &(yylsp[0]), &(yylsp[0]));
                (yyval.pval)->next->next->u1.str = (yyvsp[0].str); ;}
     break;
 
   case 102:
-#line 543 "ael.y"
+#line 541 "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) = npval2(PV_WORD, &(yylsp[-4]), &(yylsp[-4]));
                (yyval.pval)->u1.str = (yyvsp[-4].str);
-               (yyval.pval)->next = npval(PV_WORD,(yylsp[-2]).first_line,(yylsp[-2]).last_line, (yylsp[-2]).first_column, (yylsp[-2]).last_column);
+               (yyval.pval)->next = npval2(PV_WORD, &(yylsp[-2]), &(yylsp[-2]));
                (yyval.pval)->next->u1.str = (yyvsp[-2].str);
-               (yyval.pval)->next->next = npval(PV_WORD,(yylsp[0]).first_line,(yylsp[0]).last_line, (yylsp[0]).first_column, (yylsp[0]).last_column);
+               (yyval.pval)->next->next = npval2(PV_WORD, &(yylsp[0]), &(yylsp[0]));
                (yyval.pval)->next->next->u1.str = (yyvsp[0].str); ;}
     break;
 
   case 103:
-#line 550 "ael.y"
+#line 548 "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) = npval2(PV_WORD, &(yylsp[-4]), &(yylsp[-4]));
                (yyval.pval)->u1.str = strdup("default");
-               (yyval.pval)->next = npval(PV_WORD,(yylsp[-2]).first_line,(yylsp[-2]).last_line, (yylsp[-2]).first_column, (yylsp[-2]).last_column);
+               (yyval.pval)->next = npval2(PV_WORD, &(yylsp[-2]), &(yylsp[-2]));
                (yyval.pval)->next->u1.str = (yyvsp[-2].str);
-               (yyval.pval)->next->next = npval(PV_WORD,(yylsp[0]).first_line,(yylsp[0]).last_line, (yylsp[0]).first_column, (yylsp[0]).last_column);
+               (yyval.pval)->next->next = npval2(PV_WORD, &(yylsp[0]), &(yylsp[0]));
                (yyval.pval)->next->next->u1.str = (yyvsp[0].str); ;}
     break;
 
   case 104:
-#line 557 "ael.y"
+#line 555 "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) = npval2(PV_WORD, &(yylsp[-4]), &(yylsp[-4]));
                (yyval.pval)->u1.str = strdup("default");
-               (yyval.pval)->next = npval(PV_WORD,(yylsp[-2]).first_line,(yylsp[-2]).last_line, (yylsp[-2]).first_column, (yylsp[-2]).last_column);
+               (yyval.pval)->next = npval2(PV_WORD, &(yylsp[-2]), &(yylsp[-2]));
                (yyval.pval)->next->u1.str = (yyvsp[-2].str);
-               (yyval.pval)->next->next = npval(PV_WORD,(yylsp[0]).first_line,(yylsp[0]).last_line, (yylsp[0]).first_column, (yylsp[0]).last_column);
+               (yyval.pval)->next->next = npval2(PV_WORD, &(yylsp[0]), &(yylsp[0]));
                (yyval.pval)->next->next->u1.str = (yyvsp[0].str); ;}
     break;
 
   case 105:
-#line 566 "ael.y"
+#line 564 "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) = npval2(PV_WORD, &(yylsp[0]), &(yylsp[0]));
                (yyval.pval)->u1.str = (yyvsp[0].str);
-               (yyval.pval)->next = npval(PV_WORD,(yylsp[0]).first_line,(yylsp[0]).last_line, (yylsp[0]).first_column, (yylsp[0]).last_column);
+               (yyval.pval)->next = npval2(PV_WORD, &(yylsp[0]), &(yylsp[0])); /* XXX not really @1 */
                (yyval.pval)->next->u1.str = strdup("1");;}
     break;
 
   case 106:
-#line 571 "ael.y"
+#line 569 "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) = npval2(PV_WORD, &(yylsp[-2]), &(yylsp[-2]));
                (yyval.pval)->u1.str = (yyvsp[-2].str);
-               (yyval.pval)->next = npval(PV_WORD,(yylsp[0]).first_line,(yylsp[0]).last_line, (yylsp[0]).first_column, (yylsp[0]).last_column);
+               (yyval.pval)->next = npval2(PV_WORD, &(yylsp[0]), &(yylsp[0]));
                (yyval.pval)->next->u1.str = (yyvsp[0].str);;}
     break;
 
   case 107:
-#line 576 "ael.y"
+#line 574 "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) = npval2(PV_WORD, &(yylsp[-4]), &(yylsp[-4]));
                (yyval.pval)->u1.str = (yyvsp[0].str);
-               (yyval.pval)->next = npval(PV_WORD,(yylsp[-2]).first_line,(yylsp[-2]).last_line, (yylsp[-2]).first_column, (yylsp[-2]).last_column);
+               (yyval.pval)->next = npval2(PV_WORD, &(yylsp[-2]), &(yylsp[-2]));
                (yyval.pval)->next->u1.str = (yyvsp[-4].str);
-               (yyval.pval)->next->next = npval(PV_WORD,(yylsp[0]).first_line,(yylsp[0]).last_line, (yylsp[0]).first_column, (yylsp[0]).last_column);
+               (yyval.pval)->next->next = npval2(PV_WORD, &(yylsp[0]), &(yylsp[0]));
                (yyval.pval)->next->next->u1.str = (yyvsp[-2].str); ;}
     break;
 
   case 108:
-#line 583 "ael.y"
+#line 581 "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) = npval2(PV_WORD, &(yylsp[-2]), &(yylsp[-2]));
                (yyval.pval)->u1.str = (yyvsp[0].str);
-               (yyval.pval)->next = npval(PV_WORD,(yylsp[0]).first_line,(yylsp[0]).last_line, (yylsp[0]).first_column, (yylsp[0]).last_column);
+               (yyval.pval)->next = npval2(PV_WORD, &(yylsp[0]), &(yylsp[0]));
                (yyval.pval)->next->u1.str = (yyvsp[-2].str);
-               (yyval.pval)->next->next = npval(PV_WORD,(yylsp[0]).first_line,(yylsp[0]).last_line, (yylsp[0]).first_column, (yylsp[0]).last_column);
+               (yyval.pval)->next->next = npval2(PV_WORD, &(yylsp[0]), &(yylsp[0]));
                (yyval.pval)->next->next->u1.str = strdup("1"); ;}
     break;
 
   case 109:
-#line 590 "ael.y"
+#line 588 "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) = npval2(PV_WORD, &(yylsp[-4]), &(yylsp[-4]));
                (yyval.pval)->u1.str = strdup("default");
-               (yyval.pval)->next = npval(PV_WORD,(yylsp[-2]).first_line,(yylsp[-2]).last_line, (yylsp[-2]).first_column, (yylsp[-2]).last_column);
+               (yyval.pval)->next = npval2(PV_WORD, &(yylsp[-2]), &(yylsp[-2]));
                (yyval.pval)->next->u1.str = (yyvsp[-4].str);
-               (yyval.pval)->next->next = npval(PV_WORD,(yylsp[0]).first_line,(yylsp[0]).last_line, (yylsp[0]).first_column, (yylsp[0]).last_column);
+               (yyval.pval)->next->next = npval2(PV_WORD, &(yylsp[0]), &(yylsp[0]));
                (yyval.pval)->next->next->u1.str = (yyvsp[-2].str); ;}
     break;
 
   case 110:
-#line 597 "ael.y"
+#line 595 "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) = npval2(PV_WORD, &(yylsp[-2]), &(yylsp[-2]));
                (yyval.pval)->u1.str = strdup("default");
-               (yyval.pval)->next = npval(PV_WORD,(yylsp[0]).first_line,(yylsp[0]).last_line, (yylsp[0]).first_column, (yylsp[0]).last_column);
+               (yyval.pval)->next = npval2(PV_WORD, &(yylsp[0]), &(yylsp[0]));
                (yyval.pval)->next->u1.str = (yyvsp[-2].str);
-               (yyval.pval)->next->next = npval(PV_WORD,(yylsp[0]).first_line,(yylsp[0]).last_line, (yylsp[0]).first_column, (yylsp[0]).last_column);
+               (yyval.pval)->next->next = npval2(PV_WORD, &(yylsp[0]), &(yylsp[0]));
                (yyval.pval)->next->next->u1.str = strdup("1"); ;}
     break;
 
   case 111:
-#line 606 "ael.y"
+#line 604 "ael.y"
     {reset_argcount(parseio->scanner);;}
     break;
 
   case 112:
-#line 606 "ael.y"
+#line 604 "ael.y"
     {
                /* XXX original code had @2 but i think we need @5 */
                (yyval.pval) = npval2(PV_MACRO_CALL, &(yylsp[-4]), &(yylsp[0]));
@@ -2764,31 +2762,31 @@ yyreduce:
     break;
 
   case 113:
-#line 611 "ael.y"
+#line 609 "ael.y"
     {
                (yyval.pval)= npval2(PV_MACRO_CALL, &(yylsp[-2]), &(yylsp[0]));
                (yyval.pval)->u1.str = (yyvsp[-2].str); ;}
     break;
 
   case 114:
-#line 616 "ael.y"
+#line 614 "ael.y"
     {reset_argcount(parseio->scanner);;}
     break;
 
   case 115:
-#line 616 "ael.y"
+#line 614 "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);
+                       (yyval.pval)= npval2(PV_GOTO, &(yylsp[-2]), &(yylsp[0]));
                        free((yyvsp[-2].str)); /* won't be using this */
                        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[-2]).first_line, (yylsp[-2]).first_column, (yylsp[-2]).last_column );
                } else
-                       (yyval.pval)= npval(PV_APPLICATION_CALL,(yylsp[-2]).first_line,(yylsp[0]).last_line, (yylsp[-2]).first_column, (yylsp[0]).last_column);
+                       (yyval.pval)= npval2(PV_APPLICATION_CALL, &(yylsp[-2]), &(yylsp[0]));
                (yyval.pval)->u1.str = (yyvsp[-2].str); ;}
     break;
 
   case 116:
-#line 626 "ael.y"
+#line 624 "ael.y"
     {(yyval.pval) = (yyvsp[-2].pval);
                if( (yyval.pval)->type == PV_GOTO )
                        (yyval.pval)->u1.list = (yyvsp[-1].pval);
@@ -2798,56 +2796,56 @@ yyreduce:
     break;
 
   case 117:
-#line 632 "ael.y"
+#line 630 "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 635 "ael.y"
+#line 633 "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)= npval2(PV_WORD, &(yylsp[0]), &(yylsp[0]));
                (yyval.pval)->u1.str = (yyvsp[0].str);;}
     break;
 
   case 119:
-#line 638 "ael.y"
+#line 636 "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 641 "ael.y"
+#line 639 "ael.y"
     {
-               pval *z = npval(PV_WORD,(yylsp[0]).first_line,(yylsp[0]).last_line, (yylsp[0]).first_column, (yylsp[0]).last_column);
+               pval *z = npval2(PV_WORD, &(yylsp[0]), &(yylsp[0]));
                (yyval.pval) = (yyvsp[-2].pval);
                linku1((yyvsp[-2].pval),z);
                z->u1.str = (yyvsp[0].str);;}
     break;
 
   case 121:
-#line 646 "ael.y"
+#line 644 "ael.y"
     {
-               pval *z = npval(PV_WORD,(yylsp[0]).first_line,(yylsp[0]).last_line, (yylsp[0]).first_column, (yylsp[0]).last_column);
+               pval *z = npval2(PV_WORD, &(yylsp[0]), &(yylsp[0]));
                (yyval.pval) = (yyvsp[-1].pval);
                linku1((yyvsp[-1].pval),z);
                z->u1.str = strdup("");;}
     break;
 
   case 122:
-#line 653 "ael.y"
+#line 651 "ael.y"
     {(yyval.pval)=(yyvsp[0].pval);;}
     break;
 
   case 123:
-#line 654 "ael.y"
+#line 652 "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 659 "ael.y"
+#line 657 "ael.y"
     {
                (yyval.pval) = npval2(PV_CASE, &(yylsp[-3]), &(yylsp[-1])); /* XXX 3 or 4 ? */
                (yyval.pval)->u1.str = (yyvsp[-2].str);
@@ -2855,7 +2853,7 @@ yyreduce:
     break;
 
   case 125:
-#line 663 "ael.y"
+#line 661 "ael.y"
     {
                (yyval.pval) = npval2(PV_DEFAULT, &(yylsp[-2]), &(yylsp[0]));
                (yyval.pval)->u1.str = NULL;
@@ -2863,7 +2861,7 @@ yyreduce:
     break;
 
   case 126:
-#line 667 "ael.y"
+#line 665 "ael.y"
     {
                (yyval.pval) = npval2(PV_PATTERN, &(yylsp[-3]), &(yylsp[0])); /* XXX@3 or @4 ? */
                (yyval.pval)->u1.str = (yyvsp[-2].str);
@@ -2871,45 +2869,45 @@ yyreduce:
     break;
 
   case 127:
-#line 671 "ael.y"
+#line 669 "ael.y"
     {
                (yyval.pval) = npval2(PV_CASE, &(yylsp[-2]), &(yylsp[0]));
                (yyval.pval)->u1.str = (yyvsp[-1].str);;}
     break;
 
   case 128:
-#line 674 "ael.y"
+#line 672 "ael.y"
     {
                (yyval.pval) = npval2(PV_DEFAULT, &(yylsp[-1]), &(yylsp[0]));
                (yyval.pval)->u1.str = NULL;;}
     break;
 
   case 129:
-#line 677 "ael.y"
+#line 675 "ael.y"
     {
                (yyval.pval) = npval2(PV_PATTERN, &(yylsp[-2]), &(yylsp[0]));
                (yyval.pval)->u1.str = (yyvsp[-1].str);;}
     break;
 
   case 130:
-#line 682 "ael.y"
+#line 680 "ael.y"
     {(yyval.pval) = (yyvsp[0].pval);;}
     break;
 
   case 131:
-#line 683 "ael.y"
+#line 681 "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 688 "ael.y"
+#line 686 "ael.y"
     {(yyval.pval)=(yyvsp[0].pval);;}
     break;
 
   case 133:
-#line 689 "ael.y"
+#line 687 "ael.y"
     {
                (yyval.pval) = npval2(PV_CATCH, &(yylsp[-4]), &(yylsp[0]));
                (yyval.pval)->u1.str = (yyvsp[-3].str);
@@ -2917,37 +2915,40 @@ yyreduce:
     break;
 
   case 134:
-#line 695 "ael.y"
+#line 693 "ael.y"
     {
                (yyval.pval) = npval2(PV_SWITCHES, &(yylsp[-3]), &(yylsp[0]));
                (yyval.pval)->u1.list = (yyvsp[-1].pval); ;}
     break;
 
   case 135:
-#line 698 "ael.y"
+#line 696 "ael.y"
     {
                (yyval.pval) = npval2(PV_SWITCHES, &(yylsp[-2]), &(yylsp[0])); ;}
     break;
 
   case 136:
-#line 702 "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); ;}
+#line 700 "ael.y"
+    {
+               (yyval.pval) = npval2(PV_ESWITCHES, &(yylsp[-3]), &(yylsp[0]));
+               (yyval.pval)->u1.list = (yyvsp[-1].pval); ;}
     break;
 
   case 137:
 #line 703 "ael.y"
-    {(yyval.pval)= npval(PV_ESWITCHES,(yylsp[-2]).first_line,(yylsp[0]).last_line, (yylsp[-2]).first_column, (yylsp[0]).last_column); ;}
+    { /* empty switch list OK */
+               (yyval.pval) = npval2(PV_ESWITCHES, &(yylsp[-2]), &(yylsp[0])); ;}
     break;
 
   case 138:
-#line 706 "ael.y"
+#line 707 "ael.y"
     {
                (yyval.pval) = npval2(PV_WORD, &(yylsp[-1]), &(yylsp[0]));
                (yyval.pval)->u1.str = (yyvsp[-1].str);;}
     break;
 
   case 139:
-#line 709 "ael.y"
+#line 710 "ael.y"
     {
                pval *z = npval2(PV_WORD, &(yylsp[-1]), &(yylsp[0]));
                z->u1.str = (yyvsp[-1].str);
@@ -2956,54 +2957,56 @@ yyreduce:
     break;
 
   case 140:
-#line 714 "ael.y"
+#line 715 "ael.y"
     {(yyval.pval)=(yyvsp[-1].pval);;}
     break;
 
   case 141:
-#line 717 "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);;}
+#line 718 "ael.y"
+    {
+               (yyval.pval) = npval2(PV_WORD, &(yylsp[-1]), &(yylsp[0]));
+               (yyval.pval)->u1.str = (yyvsp[-1].str);;}
     break;
 
   case 142:
-#line 718 "ael.y"
+#line 722 "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) = npval2(PV_WORD, &(yylsp[-13]), &(yylsp[-12]));
                (yyval.pval)->u1.str = (yyvsp[-13].str);
-               (yyval.pval)->u2.arglist = npval(PV_WORD,(yylsp[-11]).first_line,(yylsp[-7]).last_line, (yylsp[-11]).first_column, (yylsp[-7]).last_column);
+               (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));
                free((yyvsp[-11].str));
                free((yyvsp[-9].str));
                free((yyvsp[-7].str));
-               (yyval.pval)->u2.arglist->next = npval(PV_WORD,(yylsp[-5]).first_line,(yylsp[-5]).last_line, (yylsp[-5]).first_column, (yylsp[-5]).last_column);
+               (yyval.pval)->u2.arglist->next = npval2(PV_WORD, &(yylsp[-5]), &(yylsp[-5]));
                (yyval.pval)->u2.arglist->next->u1.str = (yyvsp[-5].str);
-               (yyval.pval)->u2.arglist->next->next = npval(PV_WORD,(yylsp[-3]).first_line,(yylsp[-3]).last_line, (yylsp[-3]).first_column, (yylsp[-3]).last_column);
+               (yyval.pval)->u2.arglist->next->next = npval2(PV_WORD, &(yylsp[-3]), &(yylsp[-3]));
                (yyval.pval)->u2.arglist->next->next->u1.str = (yyvsp[-3].str);
-               (yyval.pval)->u2.arglist->next->next->next = npval(PV_WORD,(yylsp[-1]).first_line,(yylsp[-1]).last_line, (yylsp[-1]).first_column, (yylsp[-1]).last_column);
+               (yyval.pval)->u2.arglist->next->next->next = npval2(PV_WORD, &(yylsp[-1]), &(yylsp[-1]));
                (yyval.pval)->u2.arglist->next->next->next->u1.str = (yyvsp[-1].str);
                prev_word=0;
        ;}
     break;
 
   case 143:
-#line 734 "ael.y"
+#line 738 "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) = npval2(PV_WORD, &(yylsp[-9]), &(yylsp[-8]));
                (yyval.pval)->u1.str = (yyvsp[-9].str);
-               (yyval.pval)->u2.arglist = npval(PV_WORD,(yylsp[-7]).first_line,(yylsp[-7]).last_line, (yylsp[-7]).first_column, (yylsp[-7]).last_column);
+               (yyval.pval)->u2.arglist = npval2(PV_WORD, &(yylsp[-7]), &(yylsp[-7]));
                (yyval.pval)->u2.arglist->u1.str = (yyvsp[-7].str);
-               (yyval.pval)->u2.arglist->next = npval(PV_WORD,(yylsp[-5]).first_line,(yylsp[-5]).last_line, (yylsp[-5]).first_column, (yylsp[-5]).last_column);
+               (yyval.pval)->u2.arglist->next = npval2(PV_WORD, &(yylsp[-5]), &(yylsp[-5]));
                (yyval.pval)->u2.arglist->next->u1.str = (yyvsp[-5].str);
-               (yyval.pval)->u2.arglist->next->next = npval(PV_WORD,(yylsp[-3]).first_line,(yylsp[-3]).last_line, (yylsp[-3]).first_column, (yylsp[-3]).last_column);
+               (yyval.pval)->u2.arglist->next->next = npval2(PV_WORD, &(yylsp[-3]), &(yylsp[-3]));
                (yyval.pval)->u2.arglist->next->next->u1.str = (yyvsp[-3].str);
-               (yyval.pval)->u2.arglist->next->next->next = npval(PV_WORD,(yylsp[-1]).first_line,(yylsp[-1]).last_line, (yylsp[-1]).first_column, (yylsp[-1]).last_column);
+               (yyval.pval)->u2.arglist->next->next->next = npval2(PV_WORD, &(yylsp[-1]), &(yylsp[-1]));
                (yyval.pval)->u2.arglist->next->next->next->u1.str = (yyvsp[-1].str);
                prev_word=0;
        ;}
     break;
 
   case 144:
-#line 747 "ael.y"
+#line 751 "ael.y"
     {
                pval *z = npval2(PV_WORD, &(yylsp[-1]), &(yylsp[0])); /* XXX don't we need @1-@4 ?*/
                (yyval.pval)=(yyvsp[-2].pval);
@@ -3012,64 +3015,68 @@ yyreduce:
     break;
 
   case 145:
-#line 752 "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);
+#line 757 "ael.y"
+    {
+               pval *z = npval2(PV_WORD, &(yylsp[-13]), &(yylsp[-12]));
+               (yyval.pval)=(yyvsp[-14].pval); z->u1.str = (yyvsp[-13].str);
+               linku1((yyval.pval),z);
+               z->u2.arglist = npval2(PV_WORD, &(yylsp[-11]), &(yylsp[-11]));
                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[-9].str));
                free((yyvsp[-7].str));
-               z->u2.arglist->next = npval(PV_WORD,(yylsp[-5]).first_line,(yylsp[-5]).last_line, (yylsp[-5]).first_column, (yylsp[-5]).last_column);
+               z->u2.arglist->next = npval2(PV_WORD, &(yylsp[-5]), &(yylsp[-5]));
                z->u2.arglist->next->u1.str = (yyvsp[-5].str);
-               z->u2.arglist->next->next = npval(PV_WORD,(yylsp[-3]).first_line,(yylsp[-3]).last_line, (yylsp[-3]).first_column, (yylsp[-3]).last_column);
+               z->u2.arglist->next->next = npval2(PV_WORD, &(yylsp[-3]), &(yylsp[-3]));
                z->u2.arglist->next->next->u1.str = (yyvsp[-3].str);
-               z->u2.arglist->next->next->next = npval(PV_WORD,(yylsp[-1]).first_line,(yylsp[-1]).last_line, (yylsp[-1]).first_column, (yylsp[-1]).last_column);
+               z->u2.arglist->next->next->next = npval2(PV_WORD, &(yylsp[-1]), &(yylsp[-1]));
                z->u2.arglist->next->next->next->u1.str = (yyvsp[-1].str);
                prev_word=0;
        ;}
     break;
 
   case 146:
-#line 768 "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);
+#line 774 "ael.y"
+    {
+               pval *z = npval2(PV_WORD, &(yylsp[-9]), &(yylsp[-8]));
+               (yyval.pval)=(yyvsp[-10].pval);
+               z->u1.str = (yyvsp[-9].str); linku1((yyval.pval),z);
+               z->u2.arglist = npval2(PV_WORD, &(yylsp[-7]), &(yylsp[-7]));
                (yyval.pval)->u2.arglist->u1.str = (yyvsp[-7].str);
-               z->u2.arglist->next = npval(PV_WORD,(yylsp[-5]).first_line,(yylsp[-5]).last_line, (yylsp[-5]).first_column, (yylsp[-5]).last_column);
+               z->u2.arglist->next = npval2(PV_WORD, &(yylsp[-5]), &(yylsp[-5]));
                z->u2.arglist->next->u1.str = (yyvsp[-5].str);
-               z->u2.arglist->next->next = npval(PV_WORD,(yylsp[-3]).first_line,(yylsp[-3]).last_line, (yylsp[-3]).first_column, (yylsp[-3]).last_column);
+               z->u2.arglist->next->next = npval2(PV_WORD, &(yylsp[-3]), &(yylsp[-3]));
                z->u2.arglist->next->next->u1.str = (yyvsp[-3].str);
-               z->u2.arglist->next->next->next = npval(PV_WORD,(yylsp[-1]).first_line,(yylsp[-1]).last_line, (yylsp[-1]).first_column, (yylsp[-1]).last_column);
+               z->u2.arglist->next->next->next = npval2(PV_WORD, &(yylsp[-1]), &(yylsp[-1]));
                z->u2.arglist->next->next->next->u1.str = (yyvsp[-1].str);
                prev_word=0;
        ;}
     break;
 
   case 147:
-#line 780 "ael.y"
+#line 788 "ael.y"
     {(yyval.pval)=(yyvsp[-1].pval);;}
     break;
 
   case 148:
-#line 783 "ael.y"
+#line 791 "ael.y"
     { (yyval.str) = (yyvsp[0].str);;}
     break;
 
   case 149:
-#line 784 "ael.y"
+#line 792 "ael.y"
     {(yyval.str)=strdup("default");;}
     break;
 
   case 150:
-#line 787 "ael.y"
+#line 795 "ael.y"
     {
                (yyval.pval) = npval2(PV_INCLUDES, &(yylsp[-3]), &(yylsp[0]));
                (yyval.pval)->u1.list = (yyvsp[-1].pval);;}
     break;
 
   case 151:
-#line 790 "ael.y"
+#line 798 "ael.y"
     {
                (yyval.pval) = npval2(PV_INCLUDES, &(yylsp[-2]), &(yylsp[0]));;}
     break;
@@ -3079,7 +3086,7 @@ yyreduce:
     }
 
 /* Line 1126 of yacc.c.  */
-#line 3083 "ael.tab.c"
+#line 3090 "ael.tab.c"
 \f
   yyvsp -= yylen;
   yyssp -= yylen;
@@ -3354,7 +3361,7 @@ yyreturn:
 }
 
 
-#line 795 "ael.y"
+#line 803 "ael.y"
 
 
 static char *token_equivs1[] =
index 2e974dcf879ded5c2abe85a6413dcae970a330a3..d9f709243a1f5660d29ca1349e2869c93e99fc46 100644 (file)
@@ -246,10 +246,10 @@ global_statement : word EQ { reset_semicount(parseio->scanner); }  word SEMI {
        ;
 
 arglist : word {
-               $$= npval(PV_WORD,@1.first_line,@1.last_line, @1.first_column, @1.last_column);
+               $$= npval2(PV_WORD, &@1, &@1);
                $$->u1.str = $1; }
        | arglist COMMA word {
-               pval *z = npval(PV_WORD,@1.first_line,@3.last_line, @1.first_column, @3.last_column);
+               pval *z = npval2(PV_WORD, &@1, &@3);
                z->u1.str = $3;
                $$=$1;
                linku1($$,z); }
@@ -283,21 +283,21 @@ ignorepat : KW_IGNOREPAT EXTENMARK word SEMI {
        ;
 
 extension : word EXTENMARK statement {
-               $$ = npval(PV_EXTENSION,@1.first_line,@3.last_line, @1.first_column, @3.last_column);
+               $$ = npval2(PV_EXTENSION, &@1, &@3);
                $$->u1.str = $1;
                $$->u2.statements = $3; }
        | KW_REGEXTEN word EXTENMARK statement {
-               $$ = npval(PV_EXTENSION,@1.first_line,@4.last_line, @1.first_column, @4.last_column);
+               $$ = npval2(PV_EXTENSION, &@1, &@4);
                $$->u1.str = $2;
                $$->u2.statements = $4;
                $$->u4.regexten=1;}
        | KW_HINT LP word3_list RP word EXTENMARK statement {
-               $$ = npval(PV_EXTENSION,@1.first_line,@7.last_line, @1.first_column, @7.last_column);
+               $$ = npval2(PV_EXTENSION, &@1, &@7);
                $$->u1.str = $5;
                $$->u2.statements = $7;
                $$->u3.hints = $3;}
        | KW_REGEXTEN KW_HINT LP word3_list RP word EXTENMARK statement {
-               $$ = npval(PV_EXTENSION,@1.first_line,@8.last_line, @1.first_column, @8.last_column);
+               $$ = npval2(PV_EXTENSION, &@1, &@8);
                $$->u1.str = $6;
                $$->u2.statements = $8;
                $$->u4.regexten=1;
@@ -313,12 +313,12 @@ statements : statement {$$=$1;}
        ;
 
 if_head : KW_IF LP { reset_parencount(parseio->scanner); }  word_list RP {
-               $$= npval(PV_IF,@1.first_line,@5.last_line, @1.first_column, @5.last_column);
+               $$= npval2(PV_IF, &@1, &@5);
                $$->u1.str = $4; }
        ;
 
 random_head : KW_RANDOM LP { reset_parencount(parseio->scanner); } word_list RP {
-               $$= npval(PV_RANDOM,@1.first_line,@5.last_line, @1.first_column, @5.last_column);
+               $$ = npval2(PV_RANDOM, &@1, &@5);
                $$->u1.str=$4;}
        ;
 
@@ -392,7 +392,7 @@ goto_word : word { $$ = $1;}
        ;
 
 switch_head : KW_SWITCH LP { reset_parencount(parseio->scanner); } word RP  LC {
-               $$=npval(PV_SWITCH,@1.first_line,@6.last_line, @1.first_column, @6.last_column);
+               $$ = npval2(PV_SWITCH, &@1, &@6);
                $$->u1.str = $4; }
        ;
 
@@ -445,13 +445,13 @@ statement : LC statements RC {
                $$->endline = @2.last_line;
                $$->endcol = @2.last_column;}
        | word SEMI {
-               $$= npval(PV_APPLICATION_CALL,@1.first_line,@2.last_line, @1.first_column, @2.last_column);
+               $$= npval2(PV_APPLICATION_CALL, &@1, &@2);
                $$->u1.str = $1;}
        | application_call EQ {reset_semicount(parseio->scanner);} word SEMI {
                char *bufx;
                int tot=0;
                pval *pptr;
-               $$ = npval(PV_VARDEC,@1.first_line,@5.last_line, @1.first_column, @5.last_column);
+               $$ = npval2(PV_VARDEC, &@1, &@5);
                $$->u2.val=$4;
                /* rebuild the original string-- this is not an app call, it's an unwrapped vardec, with a func call on the LHS */
                /* string to big to fit in the buffer? */
@@ -480,12 +480,9 @@ statement : LC statements RC {
                destroy_pval($1); /* the app call it is not, get rid of that chain */
                prev_word = 0;
        }
-       | KW_BREAK SEMI {
-               $$ = npval(PV_BREAK,@1.first_line,@2.last_line, @1.first_column, @2.last_column);}
-       | KW_RETURN SEMI {
-               $$ = npval(PV_RETURN,@1.first_line,@2.last_line, @1.first_column, @2.last_column);}
-       | KW_CONTINUE SEMI {
-               $$ = npval(PV_CONTINUE,@1.first_line,@2.last_line, @1.first_column, @2.last_column);}
+       | KW_BREAK SEMI { $$ = npval2(PV_BREAK, &@1, &@2); }
+       | KW_RETURN SEMI { $$ = npval2(PV_RETURN, &@1, &@2); }
+       | KW_CONTINUE SEMI { $$ = npval2(PV_CONTINUE, &@1, &@2); }
        | random_head statement {
                $$=$1;
                $$->u2.statements = $2;
@@ -522,84 +519,85 @@ statement : LC statements RC {
        | SEMI { $$=0; }
        ;
 
-target : goto_word { $$ = npval(PV_WORD,@1.first_line,@1.last_line, @1.first_column, @1.last_column); $$->u1.str = $1;}
+target : goto_word { $$ = npval2(PV_WORD, &@1, &@1);
+               $$->u1.str = $1;}
        | goto_word BAR goto_word {
-               $$=npval(PV_WORD,@1.first_line,@1.last_line, @1.first_column, @1.last_column);
+               $$ = npval2(PV_WORD, &@1, &@1);
                $$->u1.str = $1;
-               $$->next = npval(PV_WORD,@3.first_line,@3.last_line, @3.first_column, @3.last_column);
+               $$->next = npval2(PV_WORD, &@3, &@3);
                $$->next->u1.str = $3;}
        | goto_word COMMA goto_word {
-               $$=npval(PV_WORD,@1.first_line,@1.last_line, @1.first_column, @1.last_column);
+               $$ = npval2(PV_WORD, &@1, &@1);
                $$->u1.str = $1;
-               $$->next = npval(PV_WORD,@3.first_line,@3.last_line, @3.first_column, @3.last_column);
+               $$->next = npval2(PV_WORD, &@3, &@3);
                $$->next->u1.str = $3;}
        | goto_word BAR goto_word BAR goto_word {
-               $$=npval(PV_WORD,@1.first_line,@1.last_line, @1.first_column, @1.last_column);
+               $$ = npval2(PV_WORD, &@1, &@1);
                $$->u1.str = $1;
-               $$->next = npval(PV_WORD,@3.first_line,@3.last_line, @3.first_column, @3.last_column);
+               $$->next = npval2(PV_WORD, &@3, &@3);
                $$->next->u1.str = $3;
-               $$->next->next = npval(PV_WORD,@5.first_line,@5.last_line, @5.first_column, @5.last_column);
+               $$->next->next = npval2(PV_WORD, &@5, &@5);
                $$->next->next->u1.str = $5; }
        | goto_word COMMA goto_word COMMA goto_word {
-               $$=npval(PV_WORD,@1.first_line,@1.last_line, @1.first_column, @1.last_column);
+               $$ = npval2(PV_WORD, &@1, &@1);
                $$->u1.str = $1;
-               $$->next = npval(PV_WORD,@3.first_line,@3.last_line, @3.first_column, @3.last_column);
+               $$->next = npval2(PV_WORD, &@3, &@3);
                $$->next->u1.str = $3;
-               $$->next->next = npval(PV_WORD,@5.first_line,@5.last_line, @5.first_column, @5.last_column);
+               $$->next->next = npval2(PV_WORD, &@5, &@5);
                $$->next->next->u1.str = $5; }
        | KW_DEFAULT BAR goto_word BAR goto_word {
-               $$=npval(PV_WORD,@1.first_line,@1.last_line, @1.first_column, @1.last_column);
+               $$ = npval2(PV_WORD, &@1, &@1);
                $$->u1.str = strdup("default");
-               $$->next = npval(PV_WORD,@3.first_line,@3.last_line, @3.first_column, @3.last_column);
+               $$->next = npval2(PV_WORD, &@3, &@3);
                $$->next->u1.str = $3;
-               $$->next->next = npval(PV_WORD,@5.first_line,@5.last_line, @5.first_column, @5.last_column);
+               $$->next->next = npval2(PV_WORD, &@5, &@5);
                $$->next->next->u1.str = $5; }
        | KW_DEFAULT COMMA goto_word COMMA goto_word {
-               $$=npval(PV_WORD,@1.first_line,@1.last_line, @1.first_column, @1.last_column);
+               $$ = npval2(PV_WORD, &@1, &@1);
                $$->u1.str = strdup("default");
-               $$->next = npval(PV_WORD,@3.first_line,@3.last_line, @3.first_column, @3.last_column);
+               $$->next = npval2(PV_WORD, &@3, &@3);
                $$->next->u1.str = $3;
-               $$->next->next = npval(PV_WORD,@5.first_line,@5.last_line, @5.first_column, @5.last_column);
+               $$->next->next = npval2(PV_WORD, &@5, &@5);
                $$->next->next->u1.str = $5; }
        ;
 
 jumptarget : goto_word {
-               $$=npval(PV_WORD,@1.first_line,@1.last_line, @1.first_column, @1.last_column);
+               $$ = npval2(PV_WORD, &@1, &@1);
                $$->u1.str = $1;
-               $$->next = npval(PV_WORD,@1.first_line,@1.last_line, @1.first_column, @1.last_column);
+               $$->next = npval2(PV_WORD, &@1, &@1); /* XXX not really @1 */
                $$->next->u1.str = strdup("1");}  /*  jump extension[,priority][@context] */
        | goto_word COMMA goto_word {
-               $$=npval(PV_WORD,@1.first_line,@1.last_line, @1.first_column, @1.last_column);
+               $$ = npval2(PV_WORD, &@1, &@1);
                $$->u1.str = $1;
-               $$->next = npval(PV_WORD,@3.first_line,@3.last_line, @3.first_column, @3.last_column);
+               $$->next = npval2(PV_WORD, &@3, &@3);
                $$->next->u1.str = $3;}
        | goto_word COMMA word AT word {
-               $$=npval(PV_WORD,@1.first_line,@1.last_line, @1.first_column, @1.last_column);
+               $$ = npval2(PV_WORD, &@1, &@1);
                $$->u1.str = $5;
-               $$->next = npval(PV_WORD,@3.first_line,@3.last_line, @3.first_column, @3.last_column);
+               $$->next = npval2(PV_WORD, &@3, &@3);
                $$->next->u1.str = $1;
-               $$->next->next = npval(PV_WORD,@5.first_line,@5.last_line, @5.first_column, @5.last_column);
+               $$->next->next = npval2(PV_WORD, &@5, &@5);
                $$->next->next->u1.str = $3; }
        | goto_word AT goto_word {
-               $$=npval(PV_WORD,@1.first_line,@1.last_line, @1.first_column, @1.last_column);
+               $$ = npval2(PV_WORD, &@1, &@1);
                $$->u1.str = $3;
-               $$->next = npval(PV_WORD,@3.first_line,@3.last_line, @3.first_column, @3.last_column);
+               $$->next = npval2(PV_WORD, &@3, &@3);
                $$->next->u1.str = $1;
-               $$->next->next = npval(PV_WORD,@3.first_line,@3.last_line, @3.first_column, @3.last_column);
+               $$->next->next = npval2(PV_WORD, &@3, &@3);
                $$->next->next->u1.str = strdup("1"); }
        | goto_word COMMA word AT KW_DEFAULT {
-               $$=npval(PV_WORD,@1.first_line,@1.last_line, @1.first_column, @1.last_column);
+               $$ = npval2(PV_WORD, &@1, &@1);
                $$->u1.str = strdup("default");
-               $$->next = npval(PV_WORD,@3.first_line,@3.last_line, @3.first_column, @3.last_column);
+               $$->next = npval2(PV_WORD, &@3, &@3);
                $$->next->u1.str = $1;
-               $$->next->next = npval(PV_WORD,@5.first_line,@5.last_line, @5.first_column, @5.last_column);
+               $$->next->next = npval2(PV_WORD, &@5, &@5);
                $$->next->next->u1.str = $3; }
        | goto_word AT KW_DEFAULT {
-               $$=npval(PV_WORD,@1.first_line,@1.last_line, @1.first_column, @1.last_column);
+               $$ = npval2(PV_WORD, &@1, &@1);
                $$->u1.str = strdup("default");
-               $$->next = npval(PV_WORD,@3.first_line,@3.last_line, @3.first_column, @3.last_column);
+               $$->next = npval2(PV_WORD, &@3, &@3);
                $$->next->u1.str = $1;
-               $$->next->next = npval(PV_WORD,@3.first_line,@3.last_line, @3.first_column, @3.last_column);
+               $$->next->next = npval2(PV_WORD, &@3, &@3);
                $$->next->next->u1.str = strdup("1"); }
        ;
 
@@ -615,11 +613,11 @@ macro_call : word LP {reset_argcount(parseio->scanner);} eval_arglist RP {
 
 application_call_head: word {reset_argcount(parseio->scanner);} LP  {
                if (strcasecmp($1,"goto") == 0) {
-                       $$= npval(PV_GOTO,@1.first_line,@3.last_line, @1.first_column, @3.last_column);
+                       $$= npval2(PV_GOTO, &@1, &@3);
                        free($1); /* won't be using this */
                        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, @1.first_line, @1.first_column, @1.last_column );
                } else
-                       $$= npval(PV_APPLICATION_CALL,@1.first_line,@3.last_line, @1.first_column, @3.last_column);
+                       $$= npval2(PV_APPLICATION_CALL, &@1, &@3);
                $$->u1.str = $1; }
        ;
 
@@ -633,18 +631,18 @@ application_call : application_call_head eval_arglist RP {$$ = $1;
        ;
 
 eval_arglist :  word_list { 
-               $$= npval(PV_WORD,@1.first_line,@1.last_line, @1.first_column, @1.last_column);
+               $$= npval2(PV_WORD, &@1, &@1);
                $$->u1.str = $1;}
        | /*nothing! */   {
                $$= npval(PV_WORD,0/*@1.first_line*/,0/*@1.last_line*/,0/* @1.first_column*/, 0/*@1.last_column*/);
                $$->u1.str = strdup(""); }
        | eval_arglist COMMA  word {
-               pval *z = npval(PV_WORD,@3.first_line,@3.last_line, @3.first_column, @3.last_column);
+               pval *z = npval2(PV_WORD, &@3, &@3);
                $$ = $1;
                linku1($1,z);
                z->u1.str = $3;}
        | eval_arglist COMMA {
-               pval *z = npval(PV_WORD,@2.first_line,@2.last_line, @2.first_column, @2.last_column);
+               pval *z = npval2(PV_WORD, &@2, &@2);
                $$ = $1;
                linku1($1,z);
                z->u1.str = strdup("");}
@@ -699,8 +697,11 @@ switches : KW_SWITCHES LC switchlist RC {
                $$ = npval2(PV_SWITCHES, &@1, &@3); }
        ;
 
-eswitches : KW_ESWITCHES LC switchlist RC {$$= npval(PV_ESWITCHES,@1.first_line,@4.last_line, @1.first_column, @4.last_column); $$->u1.list = $3; }
-       | KW_ESWITCHES LC  RC /* empty switch list OK */ {$$= npval(PV_ESWITCHES,@1.first_line,@3.last_line, @1.first_column, @3.last_column); } /* if there's nothing to declare, why include it? */
+eswitches : KW_ESWITCHES LC switchlist RC {
+               $$ = npval2(PV_ESWITCHES, &@1, &@4);
+               $$->u1.list = $3; }
+       | KW_ESWITCHES LC  RC { /* empty switch list OK */
+               $$ = npval2(PV_ESWITCHES, &@1, &@3); } /* if there's nothing to declare, why include it? */
        ;
 
 switchlist : word SEMI {
@@ -714,33 +715,36 @@ switchlist : word SEMI {
        | switchlist error {$$=$1;}
        ;
 
-includeslist : includedname SEMI {$$=npval(PV_WORD,@1.first_line,@2.last_line, @1.first_column, @2.last_column); $$->u1.str = $1;}
-       | includedname BAR word3_list COLON word3_list COLON word3_list BAR word3_list BAR word3_list BAR word3_list SEMI {
-               $$=npval(PV_WORD,@1.first_line,@2.last_line, @1.first_column, @2.last_column);
+includeslist : includedname SEMI {
+               $$ = npval2(PV_WORD, &@1, &@2);
+               $$->u1.str = $1;}
+       | includedname BAR word3_list COLON word3_list COLON word3_list
+                       BAR word3_list BAR word3_list BAR word3_list SEMI {
+               $$ = npval2(PV_WORD, &@1, &@2);
                $$->u1.str = $1;
-               $$->u2.arglist = npval(PV_WORD,@3.first_line,@7.last_line, @3.first_column, @7.last_column);
+               $$->u2.arglist = npval2(PV_WORD, &@3, &@7);
                asprintf( &($$->u2.arglist->u1.str), "%s:%s:%s", $3, $5, $7);
                free($3);
                free($5);
                free($7);
-               $$->u2.arglist->next = npval(PV_WORD,@9.first_line,@9.last_line, @9.first_column, @9.last_column);
+               $$->u2.arglist->next = npval2(PV_WORD, &@9, &@9);
                $$->u2.arglist->next->u1.str = $9;
-               $$->u2.arglist->next->next = npval(PV_WORD,@11.first_line,@11.last_line, @11.first_column, @11.last_column);
+               $$->u2.arglist->next->next = npval2(PV_WORD, &@11, &@11);
                $$->u2.arglist->next->next->u1.str = $11;
-               $$->u2.arglist->next->next->next = npval(PV_WORD,@13.first_line,@13.last_line, @13.first_column, @13.last_column);
+               $$->u2.arglist->next->next->next = npval2(PV_WORD, &@13, &@13);
                $$->u2.arglist->next->next->next->u1.str = $13;
                prev_word=0;
        }
        | includedname BAR word BAR word3_list BAR word3_list BAR word3_list SEMI {
-               $$=npval(PV_WORD,@1.first_line,@2.last_line, @1.first_column, @2.last_column);
+               $$ = npval2(PV_WORD, &@1, &@2);
                $$->u1.str = $1;
-               $$->u2.arglist = npval(PV_WORD,@3.first_line,@3.last_line, @3.first_column, @3.last_column);
+               $$->u2.arglist = npval2(PV_WORD, &@3, &@3);
                $$->u2.arglist->u1.str = $3;
-               $$->u2.arglist->next = npval(PV_WORD,@5.first_line,@5.last_line, @5.first_column, @5.last_column);
+               $$->u2.arglist->next = npval2(PV_WORD, &@5, &@5);
                $$->u2.arglist->next->u1.str = $5;
-               $$->u2.arglist->next->next = npval(PV_WORD,@7.first_line,@7.last_line, @7.first_column, @7.last_column);
+               $$->u2.arglist->next->next = npval2(PV_WORD, &@7, &@7);
                $$->u2.arglist->next->next->u1.str = $7;
-               $$->u2.arglist->next->next->next = npval(PV_WORD,@9.first_line,@9.last_line, @9.first_column, @9.last_column);
+               $$->u2.arglist->next->next->next = npval2(PV_WORD, &@9, &@9);
                $$->u2.arglist->next->next->next->u1.str = $9;
                prev_word=0;
        }
@@ -749,31 +753,35 @@ includeslist : includedname SEMI {$$=npval(PV_WORD,@1.first_line,@2.last_line, @
                $$=$1;
                z->u1.str = $2;
                linku1($$,z); }
-       | includeslist includedname BAR word3_list COLON word3_list COLON word3_list BAR word3_list BAR word3_list BAR word3_list SEMI {pval *z = npval(PV_WORD,@2.first_line,@3.last_line, @2.first_column, @3.last_column);
-               $$=$1; z->u1.str = $2; linku1($$,z);
-               z->u2.arglist = npval(PV_WORD,@4.first_line,@4.last_line, @4.first_column, @4.last_column);
+       | includeslist includedname BAR word3_list COLON word3_list COLON word3_list
+                       BAR word3_list BAR word3_list BAR word3_list SEMI {
+               pval *z = npval2(PV_WORD, &@2, &@3);
+               $$=$1; z->u1.str = $2;
+               linku1($$,z);
+               z->u2.arglist = npval2(PV_WORD, &@4, &@4);
                asprintf( &($$->u2.arglist->u1.str), "%s:%s:%s", $4, $6, $8);
                free($4);
                free($6);
                free($8);
-               z->u2.arglist->next = npval(PV_WORD,@10.first_line,@10.last_line, @10.first_column, @10.last_column);
+               z->u2.arglist->next = npval2(PV_WORD, &@10, &@10);
                z->u2.arglist->next->u1.str = $10;
-               z->u2.arglist->next->next = npval(PV_WORD,@12.first_line,@12.last_line, @12.first_column, @12.last_column);
+               z->u2.arglist->next->next = npval2(PV_WORD, &@12, &@12);
                z->u2.arglist->next->next->u1.str = $12;
-               z->u2.arglist->next->next->next = npval(PV_WORD,@14.first_line,@14.last_line, @14.first_column, @14.last_column);
+               z->u2.arglist->next->next->next = npval2(PV_WORD, &@14, &@14);
                z->u2.arglist->next->next->next->u1.str = $14;
                prev_word=0;
        }
-       | includeslist includedname BAR word BAR word3_list BAR word3_list BAR word3_list SEMI
-               {pval *z = npval(PV_WORD,@2.first_line,@2.last_line, @2.first_column, @3.last_column);
-               $$=$1; z->u1.str = $2; linku1($$,z);
-               z->u2.arglist = npval(PV_WORD,@4.first_line,@4.last_line, @4.first_column, @4.last_column);
+       | includeslist includedname BAR word BAR word3_list BAR word3_list BAR word3_list SEMI {
+               pval *z = npval2(PV_WORD, &@2, &@3);
+               $$=$1;
+               z->u1.str = $2; linku1($$,z);
+               z->u2.arglist = npval2(PV_WORD, &@4, &@4);
                $$->u2.arglist->u1.str = $4;
-               z->u2.arglist->next = npval(PV_WORD,@6.first_line,@6.last_line, @6.first_column, @6.last_column);
+               z->u2.arglist->next = npval2(PV_WORD, &@6, &@6);
                z->u2.arglist->next->u1.str = $6;
-               z->u2.arglist->next->next = npval(PV_WORD,@8.first_line,@8.last_line, @8.first_column, @8.last_column);
+               z->u2.arglist->next->next = npval2(PV_WORD, &@8, &@8);
                z->u2.arglist->next->next->u1.str = $8;
-               z->u2.arglist->next->next->next = npval(PV_WORD,@10.first_line,@10.last_line, @10.first_column, @10.last_column);
+               z->u2.arglist->next->next->next = npval2(PV_WORD, &@10, &@10);
                z->u2.arglist->next->next->next->u1.str = $10;
                prev_word=0;
        }