diff --git a/ChangeLog b/ChangeLog index bd81fa436..e45d1c365 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2011-02-11 Robert Larice + * src/frontend/parse-bison.c : + and update the parser output + 2011-02-11 Robert Larice * src/frontend/parse-bison.y : silence a `bcheck' warning `read from uninitialized memory' diff --git a/src/frontend/parse-bison.c b/src/frontend/parse-bison.c index 468274a6e..f16dec394 100644 --- a/src/frontend/parse-bison.c +++ b/src/frontend/parse-bison.c @@ -1,4 +1,4 @@ -/* A Bison parser, made by GNU Bison 2.3. */ +/* A Bison parser, made by GNU Bison 2.3. */ /* Skeleton implementation for Bison's Yacc-like parsers in C @@ -483,10 +483,10 @@ static const yytype_int8 yyrhs[] = /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const yytype_uint8 yyrline[] = { - 0, 108, 108, 109, 113, 114, 118, 125, 126, 128, - 129, 130, 131, 132, 133, 134, 136, 138, 139, 141, - 143, 144, 145, 146, 147, 148, 150, 151, 153, 154, - 155 + 0, 113, 113, 114, 118, 119, 123, 130, 131, 133, + 134, 135, 136, 137, 138, 139, 141, 143, 144, 146, + 148, 149, 150, 151, 152, 153, 155, 156, 158, 159, + 160 }; #endif @@ -1311,6 +1311,15 @@ YYLTYPE yylloc; yylloc.first_column = yylloc.last_column = 0; #endif + + /* User initialization code. */ +#line 102 "parse-bison.y" +{ + yylval.num = 0.0; +} +/* Line 1069 of yacc.c. */ +#line 1322 "parse-bison.c" + yyvsp[0] = yylval; goto yysetstate; /*------------------------------------------------------------. @@ -1494,22 +1503,22 @@ yyreduce: switch (yyn) { case 2: -#line 108 "parse-bison.y" +#line 113 "parse-bison.y" { *retval = NULL; ;} break; case 3: -#line 109 "parse-bison.y" +#line 114 "parse-bison.y" { *retval = (yyvsp[(1) - (1)].pnode); ;} break; case 5: -#line 114 "parse-bison.y" +#line 119 "parse-bison.y" { (yyvsp[(1) - (2)].pnode)->pn_next = (yyvsp[(2) - (2)].pnode); (yyvsp[(2) - (2)].pnode)->pn_use ++; (yyval.pnode) = (yyvsp[(1) - (2)].pnode); ;} break; case 6: -#line 118 "parse-bison.y" +#line 123 "parse-bison.y" { (yyvsp[(1) - (1)].pnode)->pn_name = copy_substring((yylsp[(1) - (1)]).start, (yylsp[(1) - (1)]).stop); (yyval.pnode) = (yyvsp[(1) - (1)].pnode); @@ -1517,129 +1526,129 @@ yyreduce: break; case 7: -#line 125 "parse-bison.y" +#line 130 "parse-bison.y" { (yyval.pnode) = mknnode((yyvsp[(1) - (1)].num)); ;} break; case 8: -#line 126 "parse-bison.y" +#line 131 "parse-bison.y" { (yyval.pnode) = mksnode((yyvsp[(1) - (1)].str)); ;} break; case 9: -#line 128 "parse-bison.y" +#line 133 "parse-bison.y" { (yyval.pnode) = mkbnode(PT_OP_COMMA, (yyvsp[(1) - (3)].pnode), (yyvsp[(3) - (3)].pnode)); ;} break; case 10: -#line 129 "parse-bison.y" +#line 134 "parse-bison.y" { (yyval.pnode) = mkbnode(PT_OP_PLUS, (yyvsp[(1) - (3)].pnode), (yyvsp[(3) - (3)].pnode)); ;} break; case 11: -#line 130 "parse-bison.y" +#line 135 "parse-bison.y" { (yyval.pnode) = mkbnode(PT_OP_MINUS, (yyvsp[(1) - (3)].pnode), (yyvsp[(3) - (3)].pnode)); ;} break; case 12: -#line 131 "parse-bison.y" +#line 136 "parse-bison.y" { (yyval.pnode) = mkbnode(PT_OP_TIMES, (yyvsp[(1) - (3)].pnode), (yyvsp[(3) - (3)].pnode)); ;} break; case 13: -#line 132 "parse-bison.y" +#line 137 "parse-bison.y" { (yyval.pnode) = mkbnode(PT_OP_MOD, (yyvsp[(1) - (3)].pnode), (yyvsp[(3) - (3)].pnode)); ;} break; case 14: -#line 133 "parse-bison.y" +#line 138 "parse-bison.y" { (yyval.pnode) = mkbnode(PT_OP_DIVIDE, (yyvsp[(1) - (3)].pnode), (yyvsp[(3) - (3)].pnode)); ;} break; case 15: -#line 134 "parse-bison.y" +#line 139 "parse-bison.y" { (yyval.pnode) = mkbnode(PT_OP_POWER, (yyvsp[(1) - (3)].pnode), (yyvsp[(3) - (3)].pnode)); ;} break; case 16: -#line 136 "parse-bison.y" +#line 141 "parse-bison.y" { (yyval.pnode) = (yyvsp[(2) - (3)].pnode); ;} break; case 17: -#line 138 "parse-bison.y" +#line 143 "parse-bison.y" { (yyval.pnode) = mkunode(PT_OP_UMINUS, (yyvsp[(2) - (2)].pnode)); ;} break; case 18: -#line 139 "parse-bison.y" +#line 144 "parse-bison.y" { (yyval.pnode) = mkunode(PT_OP_NOT, (yyvsp[(2) - (2)].pnode)); ;} break; case 19: -#line 141 "parse-bison.y" +#line 146 "parse-bison.y" { (yyval.pnode) = mkfnode((yyvsp[(1) - (4)].str), (yyvsp[(3) - (4)].pnode)); if(!(yyval.pnode)) YYABORT; ;} break; case 20: -#line 143 "parse-bison.y" +#line 148 "parse-bison.y" { (yyval.pnode) = mkbnode(PT_OP_EQ, (yyvsp[(1) - (3)].pnode), (yyvsp[(3) - (3)].pnode)); ;} break; case 21: -#line 144 "parse-bison.y" +#line 149 "parse-bison.y" { (yyval.pnode) = mkbnode(PT_OP_NE, (yyvsp[(1) - (3)].pnode), (yyvsp[(3) - (3)].pnode)); ;} break; case 22: -#line 145 "parse-bison.y" +#line 150 "parse-bison.y" { (yyval.pnode) = mkbnode(PT_OP_GT, (yyvsp[(1) - (3)].pnode), (yyvsp[(3) - (3)].pnode)); ;} break; case 23: -#line 146 "parse-bison.y" +#line 151 "parse-bison.y" { (yyval.pnode) = mkbnode(PT_OP_LT, (yyvsp[(1) - (3)].pnode), (yyvsp[(3) - (3)].pnode)); ;} break; case 24: -#line 147 "parse-bison.y" +#line 152 "parse-bison.y" { (yyval.pnode) = mkbnode(PT_OP_GE, (yyvsp[(1) - (3)].pnode), (yyvsp[(3) - (3)].pnode)); ;} break; case 25: -#line 148 "parse-bison.y" +#line 153 "parse-bison.y" { (yyval.pnode) = mkbnode(PT_OP_LE, (yyvsp[(1) - (3)].pnode), (yyvsp[(3) - (3)].pnode)); ;} break; case 26: -#line 150 "parse-bison.y" +#line 155 "parse-bison.y" { (yyval.pnode) = mkbnode(PT_OP_AND, (yyvsp[(1) - (3)].pnode), (yyvsp[(3) - (3)].pnode)); ;} break; case 27: -#line 151 "parse-bison.y" +#line 156 "parse-bison.y" { (yyval.pnode) = mkbnode(PT_OP_OR, (yyvsp[(1) - (3)].pnode), (yyvsp[(3) - (3)].pnode)); ;} break; case 28: -#line 153 "parse-bison.y" +#line 158 "parse-bison.y" { (yyval.pnode) = mkbnode(PT_OP_INDX, (yyvsp[(1) - (4)].pnode), (yyvsp[(3) - (4)].pnode)); ;} break; case 29: -#line 154 "parse-bison.y" +#line 159 "parse-bison.y" { (yyval.pnode) = mkbnode(PT_OP_RANGE, (yyvsp[(1) - (4)].pnode), (yyvsp[(3) - (4)].pnode)); ;} break; case 30: -#line 155 "parse-bison.y" +#line 160 "parse-bison.y" { (yyval.pnode) = mkbnode(PT_OP_TERNARY,(yyvsp[(1) - (5)].pnode), mkbnode(PT_OP_COMMA,(yyvsp[(3) - (5)].pnode),(yyvsp[(5) - (5)].pnode))); ;} break; /* Line 1267 of yacc.c. */ -#line 1643 "parse-bison.c" +#line 1652 "parse-bison.c" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); @@ -1859,7 +1868,7 @@ yyreturn: } -#line 159 "parse-bison.y" +#line 164 "parse-bison.y"