@ -574,9 +574,9 @@ static const unsigned short int yyrline[] =
531 , 536 , 543 , 550 , 557 , 566 , 571 , 576 , 583 , 590 ,
531 , 536 , 543 , 550 , 557 , 566 , 571 , 576 , 583 , 590 ,
597 , 606 , 606 , 611 , 616 , 616 , 626 , 632 , 635 , 638 ,
597 , 606 , 606 , 611 , 616 , 616 , 626 , 632 , 635 , 638 ,
641 , 646 , 653 , 654 , 659 , 663 , 667 , 671 , 674 , 677 ,
641 , 646 , 653 , 654 , 659 , 663 , 667 , 671 , 674 , 677 ,
682 , 683 , 688 , 689 , 69 2, 693 , 696 , 697 , 700 , 701 ,
682 , 683 , 688 , 689 , 69 5, 698 , 702 , 703 , 706 , 709 ,
7 02, 705 , 706 , 722 , 735 , 736 , 751 , 764 , 767 , 768 ,
7 14, 717 , 718 , 734 , 747 , 752 , 767 , 780 , 783 , 784 ,
7 71, 774
7 87, 790
} ;
} ;
# endif
# endif
@ -2409,14 +2409,14 @@ yyreduce:
case 73 :
case 73 :
# line 412 "ael.y"
# line 412 "ael.y"
{
{
( yyval . pval ) = npval ( PV_GOTO , ( yylsp [ - 2 ] ) . first_line , ( yylsp [ 0 ] ) . last_line , ( yylsp [ - 2 ] ) .first_column , ( yylsp [ 0 ] ) . last_column ) ;
( yyval . pval ) = npval2 ( PV_GOTO , & ( yylsp [ - 2 ] ) , & ( yylsp [ 0 ] ) ) ;
( yyval . pval ) - > u1 . list = ( yyvsp [ - 1 ] . pval ) ; ; }
( yyval . pval ) - > u1 . list = ( yyvsp [ - 1 ] . pval ) ; ; }
break ;
break ;
case 74 :
case 74 :
# line 415 "ael.y"
# line 415 "ael.y"
{
{
( yyval . pval ) = npval ( PV_LABEL , ( yylsp [ - 1 ] ) . first_line , ( yylsp [ 0 ] ) . last_line , ( yylsp [ - 1 ] ) .first_column , ( yylsp [ 0 ] ) . last_column ) ;
( yyval . pval ) = npval2 ( PV_LABEL , & ( yylsp [ - 1 ] ) , & ( yylsp [ 0 ] ) ) ;
( yyval . pval ) - > u1 . str = ( yyvsp [ - 1 ] . str ) ; ; }
( yyval . pval ) - > u1 . str = ( yyvsp [ - 1 ] . str ) ; ; }
break ;
break ;
@ -2438,7 +2438,7 @@ yyreduce:
case 78 :
case 78 :
# line 420 "ael.y"
# line 420 "ael.y"
{
{
( yyval . pval ) = npval ( PV_FOR , ( yylsp [ - 11 ] ) .first_line , ( yylsp [ 0 ] ) . last_line , ( yylsp [ - 11 ] ) . first_column , ( yylsp [ 0 ] ) . last_column ) ;
( yyval . pval ) = npval 2 ( PV_FOR , & ( yylsp [ - 11 ] ) , & ( yylsp [ 0 ] ) ) ;
( yyval . pval ) - > u1 . for_init = ( yyvsp [ - 8 ] . str ) ;
( yyval . pval ) - > u1 . for_init = ( yyvsp [ - 8 ] . str ) ;
( yyval . pval ) - > u2 . for_test = ( yyvsp [ - 5 ] . str ) ;
( yyval . pval ) - > u2 . for_test = ( yyvsp [ - 5 ] . str ) ;
( yyval . pval ) - > u3 . for_inc = ( yyvsp [ - 2 ] . str ) ;
( yyval . pval ) - > u3 . for_inc = ( yyvsp [ - 2 ] . str ) ;
@ -2453,7 +2453,7 @@ yyreduce:
case 80 :
case 80 :
# line 426 "ael.y"
# line 426 "ael.y"
{
{
( yyval . pval ) = npval ( PV_WHILE , ( yylsp [ - 5 ] ) . first_line , ( yylsp [ 0 ] ) . last_line , ( yylsp [ - 5 ] ) .first_column , ( yylsp [ 0 ] ) . last_column ) ;
( yyval . pval ) = npval2 ( PV_WHILE , & ( yylsp [ - 5 ] ) , & ( yylsp [ 0 ] ) ) ;
( yyval . pval ) - > u1 . str = ( yyvsp [ - 2 ] . str ) ;
( yyval . pval ) - > u1 . str = ( yyvsp [ - 2 ] . str ) ;
( yyval . pval ) - > u2 . statements = ( yyvsp [ 0 ] . pval ) ; ; }
( yyval . pval ) - > u2 . statements = ( yyvsp [ 0 ] . pval ) ; ; }
break ;
break ;
@ -2910,51 +2910,63 @@ yyreduce:
case 133 :
case 133 :
# line 689 "ael.y"
# line 689 "ael.y"
{ ( yyval . pval ) = npval ( PV_CATCH , ( yylsp [ - 4 ] ) . first_line , ( yylsp [ 0 ] ) . last_line , ( yylsp [ - 4 ] ) . first_column , ( yylsp [ 0 ] ) . last_column ) ; ( yyval . pval ) - > u1 . str = ( yyvsp [ - 3 ] . str ) ; ( yyval . pval ) - > u2 . statements = ( yyvsp [ - 1 ] . pval ) ; ; }
{
( yyval . pval ) = npval2 ( PV_CATCH , & ( yylsp [ - 4 ] ) , & ( yylsp [ 0 ] ) ) ;
( yyval . pval ) - > u1 . str = ( yyvsp [ - 3 ] . str ) ;
( yyval . pval ) - > u2 . statements = ( yyvsp [ - 1 ] . pval ) ; ; }
break ;
break ;
case 134 :
case 134 :
# line 692 "ael.y"
# line 695 "ael.y"
{ ( yyval . pval ) = npval ( PV_SWITCHES , ( yylsp [ - 3 ] ) . first_line , ( yylsp [ 0 ] ) . last_line , ( yylsp [ - 3 ] ) . first_column , ( yylsp [ 0 ] ) . last_column ) ; ( yyval . pval ) - > u1 . list = ( yyvsp [ - 1 ] . pval ) ; ; }
{
( yyval . pval ) = npval2 ( PV_SWITCHES , & ( yylsp [ - 3 ] ) , & ( yylsp [ 0 ] ) ) ;
( yyval . pval ) - > u1 . list = ( yyvsp [ - 1 ] . pval ) ; ; }
break ;
break ;
case 135 :
case 135 :
# line 693 "ael.y"
# line 698 "ael.y"
{ ( yyval . pval ) = npval ( PV_SWITCHES , ( yylsp [ - 2 ] ) . first_line , ( yylsp [ 0 ] ) . last_line , ( yylsp [ - 2 ] ) . first_column , ( yylsp [ 0 ] ) . last_column ) ; ; }
{
( yyval . pval ) = npval2 ( PV_SWITCHES , & ( yylsp [ - 2 ] ) , & ( yylsp [ 0 ] ) ) ; ; }
break ;
break ;
case 136 :
case 136 :
# line 696 "ael.y"
# 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 ) ; ; }
{ ( yyval . pval ) = npval ( PV_ESWITCHES , ( yylsp [ - 3 ] ) . first_line , ( yylsp [ 0 ] ) . last_line , ( yylsp [ - 3 ] ) . first_column , ( yylsp [ 0 ] ) . last_column ) ; ( yyval . pval ) - > u1 . list = ( yyvsp [ - 1 ] . pval ) ; ; }
break ;
break ;
case 137 :
case 137 :
# line 69 7 "ael.y"
# 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 ) ; ; }
{ ( yyval . pval ) = npval ( PV_ESWITCHES , ( yylsp [ - 2 ] ) . first_line , ( yylsp [ 0 ] ) . last_line , ( yylsp [ - 2 ] ) . first_column , ( yylsp [ 0 ] ) . last_column ) ; ; }
break ;
break ;
case 138 :
case 138 :
# line 700 "ael.y"
# line 706 "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 ) ; ; }
{
( yyval . pval ) = npval2 ( PV_WORD , & ( yylsp [ - 1 ] ) , & ( yylsp [ 0 ] ) ) ;
( yyval . pval ) - > u1 . str = ( yyvsp [ - 1 ] . str ) ; ; }
break ;
break ;
case 139 :
case 139 :
# line 701 "ael.y"
# line 709 "ael.y"
{ pval * z = npval ( PV_WORD , ( yylsp [ - 1 ] ) . first_line , ( yylsp [ 0 ] ) . last_line , ( yylsp [ - 1 ] ) . first_column , ( yylsp [ 0 ] ) . last_column ) ; ( yyval . pval ) = ( yyvsp [ - 2 ] . pval ) ; z - > u1 . str = ( yyvsp [ - 1 ] . str ) ; linku1 ( ( yyval . pval ) , z ) ; ; }
{
pval * z = npval2 ( PV_WORD , & ( yylsp [ - 1 ] ) , & ( yylsp [ 0 ] ) ) ;
z - > u1 . str = ( yyvsp [ - 1 ] . str ) ;
( yyval . pval ) = ( yyvsp [ - 2 ] . pval ) ;
linku1 ( ( yyval . pval ) , z ) ; ; }
break ;
break ;
case 140 :
case 140 :
# line 702 "ael.y"
# line 7 14 "ael.y"
{ ( yyval . pval ) = ( yyvsp [ - 1 ] . pval ) ; ; }
{ ( yyval . pval ) = ( yyvsp [ - 1 ] . pval ) ; ; }
break ;
break ;
case 141 :
case 141 :
# line 7 05 "ael.y"
# line 7 17 "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 ) ; ; }
{ ( yyval . pval ) = npval ( PV_WORD , ( yylsp [ - 1 ] ) . first_line , ( yylsp [ 0 ] ) . last_line , ( yylsp [ - 1 ] ) . first_column , ( yylsp [ 0 ] ) . last_column ) ; ( yyval . pval ) - > u1 . str = ( yyvsp [ - 1 ] . str ) ; ; }
break ;
break ;
case 142 :
case 142 :
# line 7 06 "ael.y"
# line 7 18 "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 ) = npval ( PV_WORD , ( yylsp [ - 13 ] ) . first_line , ( yylsp [ - 12 ] ) . last_line , ( yylsp [ - 13 ] ) . first_column , ( yylsp [ - 12 ] ) . last_column ) ;
( yyval . pval ) - > u1 . str = ( yyvsp [ - 13 ] . str ) ;
( yyval . pval ) - > u1 . str = ( yyvsp [ - 13 ] . str ) ;
@ -2974,7 +2986,7 @@ yyreduce:
break ;
break ;
case 143 :
case 143 :
# line 7 22 "ael.y"
# line 7 34 "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 ) = npval ( PV_WORD , ( yylsp [ - 9 ] ) . first_line , ( yylsp [ - 8 ] ) . last_line , ( yylsp [ - 9 ] ) . first_column , ( yylsp [ - 8 ] ) . last_column ) ;
( yyval . pval ) - > u1 . str = ( yyvsp [ - 9 ] . str ) ;
( yyval . pval ) - > u1 . str = ( yyvsp [ - 9 ] . str ) ;
@ -2991,12 +3003,16 @@ yyreduce:
break ;
break ;
case 144 :
case 144 :
# line 735 "ael.y"
# line 747 "ael.y"
{ pval * z = npval ( PV_WORD , ( yylsp [ - 1 ] ) . first_line , ( yylsp [ 0 ] ) . last_line , ( yylsp [ - 1 ] ) . first_column , ( yylsp [ 0 ] ) . last_column ) ; ( yyval . pval ) = ( yyvsp [ - 2 ] . pval ) ; z - > u1 . str = ( yyvsp [ - 1 ] . str ) ; linku1 ( ( yyval . pval ) , z ) ; ; }
{
pval * z = npval2 ( PV_WORD , & ( yylsp [ - 1 ] ) , & ( yylsp [ 0 ] ) ) ; /* XXX don't we need @1-@4 ?*/
( yyval . pval ) = ( yyvsp [ - 2 ] . pval ) ;
z - > u1 . str = ( yyvsp [ - 1 ] . str ) ;
linku1 ( ( yyval . pval ) , z ) ; ; }
break ;
break ;
case 145 :
case 145 :
# line 736 "ael.y"
# line 7 52 "ael.y"
{ pval * z = npval ( PV_WORD , ( yylsp [ - 13 ] ) . first_line , ( yylsp [ - 12 ] ) . last_line , ( yylsp [ - 13 ] ) . first_column , ( yylsp [ - 12 ] ) . last_column ) ;
{ 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 ) ;
( 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 ) ;
z - > u2 . arglist = npval ( PV_WORD , ( yylsp [ - 11 ] ) . first_line , ( yylsp [ - 11 ] ) . last_line , ( yylsp [ - 11 ] ) . first_column , ( yylsp [ - 11 ] ) . last_column ) ;
@ -3015,7 +3031,7 @@ yyreduce:
break ;
break ;
case 146 :
case 146 :
# line 7 52 "ael.y"
# line 7 68 "ael.y"
{ pval * z = npval ( PV_WORD , ( yylsp [ - 9 ] ) . first_line , ( yylsp [ - 9 ] ) . last_line , ( yylsp [ - 9 ] ) . first_column , ( yylsp [ - 8 ] ) . last_column ) ;
{ 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 ) ;
( 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 ) ;
z - > u2 . arglist = npval ( PV_WORD , ( yylsp [ - 7 ] ) . first_line , ( yylsp [ - 7 ] ) . last_line , ( yylsp [ - 7 ] ) . first_column , ( yylsp [ - 7 ] ) . last_column ) ;
@ -3031,29 +3047,29 @@ yyreduce:
break ;
break ;
case 147 :
case 147 :
# line 7 64 "ael.y"
# line 7 80 "ael.y"
{ ( yyval . pval ) = ( yyvsp [ - 1 ] . pval ) ; ; }
{ ( yyval . pval ) = ( yyvsp [ - 1 ] . pval ) ; ; }
break ;
break ;
case 148 :
case 148 :
# line 7 67 "ael.y"
# line 7 83 "ael.y"
{ ( yyval . str ) = ( yyvsp [ 0 ] . str ) ; ; }
{ ( yyval . str ) = ( yyvsp [ 0 ] . str ) ; ; }
break ;
break ;
case 149 :
case 149 :
# line 7 6 8 "ael.y"
# line 7 84 "ael.y"
{ ( yyval . str ) = strdup ( " default " ) ; ; }
{ ( yyval . str ) = strdup ( " default " ) ; ; }
break ;
break ;
case 150 :
case 150 :
# line 7 71 "ael.y"
# line 7 8 7 "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 151 :
case 151 :
# line 7 74 "ael.y"
# line 7 90 "ael.y"
{
{
( yyval . pval ) = npval2 ( PV_INCLUDES , & ( yylsp [ - 2 ] ) , & ( yylsp [ 0 ] ) ) ; ; }
( yyval . pval ) = npval2 ( PV_INCLUDES , & ( yylsp [ - 2 ] ) , & ( yylsp [ 0 ] ) ) ; ; }
break ;
break ;
@ -3063,7 +3079,7 @@ yyreduce:
}
}
/* Line 1126 of yacc.c. */
/* Line 1126 of yacc.c. */
# line 30 67 "ael.tab.c"
# line 30 83 "ael.tab.c"
yyvsp - = yylen ;
yyvsp - = yylen ;
yyssp - = yylen ;
yyssp - = yylen ;
@ -3338,7 +3354,7 @@ yyreturn:
}
}
# line 7 7 9 "ael.y"
# line 7 95 "ael.y"
static char * token_equivs1 [ ] =
static char * token_equivs1 [ ] =