register const char *yys;  if ((yys = getenv("YYDEBUG"))) { yyn = *yys; if (yyn >= '0' && yyn <= '9') yydebug = yyn - '0'; } #endif  yynerrs = 0; yyerrflag = 0; yychar = (-1);  if (yyss == NULL && yygrowstack()) goto yyoverflow; yyssp = yyss; yyvsp = yyvs; *yyssp = yystate = 0;  yyloop: if ((yyn = yydefred[yystate])) goto yyreduce; if (yychar < 0) { if ((yychar = yylex()) < 0) yychar = 0; 
/* We have to keep this `#if YYDEBUG', since we use variables which are defined only if `YYDEBUG' is set.  */ if (yydebug) { YYFPRINTF (stderr, "Next token is %d (%s", yychar, yytname[yychar1]); /* Give the individual parser a way to print the precise meaning of a token, for further debugging info.  */ # ifdef YYPRINT YYPRINT (stderr, yychar, yylval); # endif YYFPRINTF (stderr, ")\n"); } #endif }  yyn += yychar1; if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1) goto yydefault;  yyn = yytable[yyn];  /* yyn is what to do for this token type in this state. Negative => reduce, -yyn is rule number. Positive => shift, yyn is new state. New state is final state => don't bother to shift, just return success. 0, or most negative number => error.  */  if (yyn < 0) { if (yyn == YYFLAG) goto yyerrlab; yyn = -yyn; goto yyreduce; } else if (yyn == 0) goto yyerrlab;  if (yyn == YYFINAL) YYACCEPT;  /* Shift the lookahead token.  */ YYDPRINTF ((stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]));  /* Discard the token being shifted unless it is eof.  */ if (yychar != YYEOF) yychar = YYEMPTY;  *++yyvsp = yylval; #if YYLSP_NEEDED *++yylsp = yylloc; #endif  /* Count tokens shifted since error; after three, turn off error status.  */ if (yyerrstatus) yyerrstatus--;  yystate = yyn; goto yynewstate;   /*-----------------------------------------------------------. | yydefault -- do the default action for the current state.  | `-----------------------------------------------------------*/ yydefault: yyn = yydefact[yystate]; if (yyn == 0) goto yyerrlab; goto yyreduce;   /*-----------------------------. | yyreduce -- Do a reduction.  | `-----------------------------*/ yyreduce: /* yyn is the number of a rule to reduce with.  */ yylen = yyr2[yyn];  /* If YYLEN is nonzero, implement the default value of the action: `$$ = $1'.  Otherwise, the following line sets YYVAL to the semantic value of the lookahead token.  This behavior is undocumented and Bison users should not rely upon it.  Assigning to YYVAL unconditionally makes the parser a bit smaller, and it avoids a GCC warning that YYVAL may be used uninitialized.  */ yyval = yyvsp[1-yylen];  #if YYLSP_NEEDED /* Similarly for the default location.  Let the user run additional commands if for instance locations are ranges.  */ yyloc = yylsp[1-yylen]; YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen); #endif  
yyparse (YYPARSE_PARAM_ARG)    YYPARSE_PARAM_DECL{    register int yym, yyn, yystate;#if YYDEBUG    register const char *yys;    if ((yys = getenv("YYDEBUG")))    {        yyn = *yys;        if (yyn >= '0' && yyn <= '9')            yydebug = yyn - '0';    }#endif    yynerrs = 0;    yyerrflag = 0;    yychar = (-1);    if (yyss == NULL && yygrowstack()) goto yyoverflow;    yyssp = yyss;    yyvsp = yyvs;    *yyssp = yystate = 0;yyloop:    if ((yyn = yydefred[yystate])) goto yyreduce;    if (yychar < 0)    {        if ((yychar = yylex()) < 0) yychar = 0;#if YYDEBUG        if (yydebug)        {            yys = 0;            if (yychar <= YYMAXTOKEN) yys = yyname[yychar];            if (!yys) yys = "illegal-symbol";            printf("%sdebug: state %d, reading %d (%s)\n",                    YYPREFIX, yystate, yychar, yys);        }#endif    }    if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&            yyn <= YYTABLESIZE && yycheck[yyn] == yychar)    {#if YYDEBUG        if (yydebug)            printf("%sdebug: state %d, shifting to state %d\n",                    YYPREFIX, yystate, yytable[yyn]);#endif        if (yyssp >= yysslim && yygrowstack())        {            goto yyoverflow;        }        *++yyssp = yystate = yytable[yyn];        *++yyvsp = yylval;        yychar = (-1);        if (yyerrflag > 0)  --yyerrflag;        goto yyloop;    }    if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&            yyn <= YYTABLESIZE && yycheck[yyn] == yychar)    {        yyn = yytable[yyn];        goto yyreduce;    }    if (yyerrflag) goto yyinrecovery;#if defined(lint) || defined(__GNUC__)    goto yynewerror;#endifyynewerror:    yyerror("syntax error");#if defined(lint) || defined(__GNUC__)    goto yyerrlab;#endifyyerrlab:    ++yynerrs;yyinrecovery:    if (yyerrflag < 3)    {        yyerrflag = 3;        for (;;)        {            if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&                    yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)            {#if YYDEBUG                if (yydebug)                    printf("%sdebug: state %d, error recovery shifting\ to state %d\n", YYPREFIX, *yyssp, yytable[yyn]);#endif                if (yyssp >= yysslim && yygrowstack())                {                    goto yyoverflow;                }                *++yyssp = yystate = yytable[yyn];                *++yyvsp = yylval;                goto yyloop;            }            else            {#if YYDEBUG                if (yydebug)                    printf("%sdebug: error recovery discarding state %d\n",                            YYPREFIX, *yyssp);#endif                if (yyssp <= yyss) goto yyabort;                --yyssp;                --yyvsp;            }        }    }    else    {        if (yychar == 0) goto yyabort;#if YYDEBUG        if (yydebug)        {            yys = 0;            if (yychar <= YYMAXTOKEN) yys = yyname[yychar];            if (!yys) yys = "illegal-symbol";            printf("%sdebug: state %d, error recovery discards token %d (%s)\n",                    YYPREFIX, yystate, yychar, yys);        }#endif        yychar = (-1);        goto yyloop;    }yyreduce:#if YYDEBUG    if (yydebug)        printf("%sdebug: state %d, reducing by rule %d (%s)\n",                YYPREFIX, yystate, yyn, yyrule[yyn]);#endif    yym = yylen[yyn];    yyval = yyvsp[1-yym];    switch (yyn)    {case 2:#line 142 "jamgram.y"{ parse_save( yyvsp[0].parse ); }break;case 3:#line 153 "jamgram.y"{ yyval.parse = yyvsp[0].parse; }break;case 4:#line 155 "jamgram.y"{ yyval.parse = yyvsp[0].parse; }break;case 5:#line 159 "jamgram.y"{ yyval.parse = yyvsp[0].parse; }break;case 6:#line 161 "jamgram.y"{ yyval.parse = prules( yyvsp[-1].parse, yyvsp[0].parse ); }break;case 7:#line 163 "jamgram.y"{ yyval.parse = plocal( yyvsp[-3].parse, yyvsp[-2].parse, yyvsp[0].parse ); }break;case 8:#line 167 "jamgram.y"{ yyval.parse = pnull(); }break;case 9:#line 171 "jamgram.y"{ yyval.parse = yyvsp[0].parse; yyval.number = ASSIGN_SET; }break;case 10:#line 173 "jamgram.y"{ yyval.parse = yyvsp[0].parse; yyval.number = ASSIGN_APPEND; }break;case 11:#line 177 "jamgram.y"{ yyval.parse = yyvsp[-1].parse; }break;case 12:#line 179 "jamgram.y"{ yyval.parse = P0; }break;case 13:#line 183 "jamgram.y"{ yyval.number = 1; }break;case 14:#line 185 "jamgram.y"{ yyval.number = 0; }break;case 15:#line 189 "jamgram.y"{ yyval.parse = yyvsp[-1].parse; }break;case 16:#line 191 "jamgram.y"{ yyval.parse = pincl( yyvsp[-1].parse ); }break;case 17:#line 193 "jamgram.y"{ yyval.parse = prule( yyvsp[-2].string, yyvsp[-1].parse ); }break;case 18:#line 195 "jamgram.y"{ yyval.parse = pset( yyvsp[-3].parse, yyvsp[-1].parse, yyvsp[-2].number ); }break;case 19:#line 197 "jamgram.y"{ yyval.parse = pset1( yyvsp[-5].parse, yyvsp[-3].parse, yyvsp[-1].parse, yyvsp[-2].number ); }break;case 20:#line 199 "jamgram.y"{ yyval.parse = yyvsp[-1].parse; }break;case 21:#line 201 "jamgram.y"{ yyval.parse = pfor( yyvsp[-5].string, yyvsp[-3].parse, yyvsp[-1].parse, yyvsp[-6].number ); }break;case 22:#line 203 "jamgram.y"{ yyval.parse = pswitch( yyvsp[-3].parse, yyvsp[-1].parse ); }break;case 23:#line 205 "jamgram.y"{ yyval.parse = pif( yyvsp[-3].parse, yyvsp[-1].parse, pnull() ); }break;case 24:#line 207 "jamgram.y"{ yyval.parse = pmodule( yyvsp[-3].parse, yyvsp[-1].parse ); }break;case 25:#line 209 "jamgram.y"{ yyval.parse = pwhile( yyvsp[-3].parse, yyvsp[-1].parse ); }break;case 26:#line 211 "jamgram.y"{ yyval.parse = pif( yyvsp[-5].parse, yyvsp[-3].parse, yyvsp[0].parse ); }break;case 27:#line 213 "jamgram.y"{ yyval.parse = psetc( yyvsp[-2].string, yyvsp[0].parse, yyvsp[-1].parse, yyvsp[-4].number ); }break;case 28:#line 215 "jamgram.y"{ yyval.parse = pon( yyvsp[-1].parse, yyvsp[0].parse ); }break;case 29:#line 217 "jamgram.y"{ yymode( SCAN_STRING ); }break;case 30:#line 219 "jamgram.y"{ yymode( SCAN_NORMAL ); }break;case 31:#line 221 "jamgram.y"{ yyval.parse = psete( yyvsp[-6].string,yyvsp[-5].parse,yyvsp[-2].string,yyvsp[-7].number ); }break;case 32:#line 229 "jamgram.y"{ yyval.number = ASSIGN_SET; }break;case 33:#line 231 "jamgram.y"{ yyval.number = ASSIGN_APPEND; }break;case 34:#line 233 "jamgram.y"{ yyval.number = ASSIGN_DEFAULT; }break;case 35:#line 235 "jamgram.y"{ yyval.number = ASSIGN_DEFAULT; }break;case 36:#line 242 "jamgram.y"{ yyval.parse = peval( EXPR_EXISTS, yyvsp[0].parse, pnull() ); }break;case 37:#line 244 "jamgram.y"{ yyval.parse = peval( EXPR_EQUALS, yyvsp[-2].parse, yyvsp[0].parse ); }break;case 38:#line 246 "jamgram.y"{ yyval.parse = peval( EXPR_NOTEQ, yyvsp[-2].parse, yyvsp[0].parse ); }break;case 39:#line 248 "jamgram.y"{ yyval.parse = peval( EXPR_LESS, yyvsp[-2].parse, yyvsp[0].parse ); }break;case 40:#line 250 "jamgram.y"{ yyval.parse = peval( EXPR_LESSEQ, yyvsp[-2].parse, yyvsp[0].parse ); }break;case 41:#line 252 "jamgram.y"{ yyval.parse = peval( EXPR_MORE, yyvsp[-2].parse, yyvsp[0].parse ); }break;case 42:#line 254 "jamgram.y"{ yyval.parse = peval( EXPR_MOREEQ, yyvsp[-2].parse, yyvsp[0].parse ); }break;case 43:#line 256 "jamgram.y"{ yyval.parse = peval( EXPR_AND, yyvsp[-2].parse, yyvsp[0].parse ); }break;case 44:#line 258 "jamgram.y"{ yyval.parse = peval( EXPR_AND, yyvsp[-2].parse, yyvsp[0].parse ); }break;case 45:#line 260 "jamgram.y"{ yyval.parse = peval( EXPR_OR, yyvsp[-2].parse, yyvsp[0].parse ); }break;case 46:#line 262 "jamgram.y"{ yyval.parse = peval( EXPR_OR, yyvsp[-2].parse, yyvsp[0].parse ); }break;case 47:#line 264 "jamgram.y"{ yyval.parse = peval( EXPR_IN, yyvsp[-2].parse, yyvsp[0].parse ); }break;case 48:#line 266 "jamgram.y"{ yyval.parse = peval( EXPR_NOT, yyvsp[0].parse, pnull() ); }break;case 49:#line 268 "jamgram.y"{ yyval.parse = yyvsp[-1].parse; }break;case 50:#line 279 "jamgram.y"{ yyval.parse = P0; }break;case 51:#line 281 "jamgram.y"{ yyval.parse = pnode( yyvsp[-1].parse, yyvsp[0].parse ); }break;case 52:#line 285 "jamgram.y"{ yyval.parse = psnode( yyvsp[-2].string, yyvsp[0].parse ); }break;case 53:#line 294 "jamgram.y"{ yyval.parse = pnode( P0, yyvsp[0].parse ); }break;case 54:#line 296 "jamgram.y"{ yyval.parse = pnode( yyvsp[0].parse, yyvsp[-2].parse ); }break;case 55:#line 306 "jamgram.y"{ yyval.parse = yyvsp[0].parse; yymode( SCAN_NORMAL ); }break;case 56:#line 310 "jamgram.y"{ yyval.parse = pnull(); yymode( SCAN_PUNCT ); }break;case 57:#line 312 "jamgram.y"{ yyval.parse = pappend( yyvsp[-1].parse, yyvsp[0].parse ); }break;case 58:#line 316 "jamgram.y"{ yyval.parse = plist( yyvsp[0].string ); }break;case 59:#line 317 "jamgram.y"{ yymode( SCAN_NORMAL ); }break;case 60:#line 318 "jamgram.y"{ yyval.parse = yyvsp[-1].parse; }break;case 61:#line 327 "jamgram.y"{ yyval.parse = prule( yyvsp[-1].string, yyvsp[0].parse ); }break;case 62:#line 329 "jamgram.y"{ yyval.parse = pon( yyvsp[-2].parse, prule( yyvsp[-1].string, yyvsp[0].parse ) ); }break;case 63:#line 331 "jamgram.y"{ yyval.parse = pon( yyvsp[-2].parse, yyvsp[0].parse ); }break;case 64:#line 341 "jamgram.y"{ yyval.number = 0; }break;case 65:#line 343 "jamgram.y"{ yyval.number = yyvsp[-1].number | yyvsp[0].number; }break;case 66:#line 347 "jamgram.y"{ yyval.number = EXEC_UPDATED; }break;case 67:#line 349 "jamgram.y"{ yyval.number = EXEC_TOGETHER; }break;case 68:#line 351 "jamgram.y"{ yyval.number = EXEC_IGNORE; }break;case 69:#line 353 "jamgram.y"{ yyval.number = EXEC_QUIETLY; }break;case 70:#line 355 "jamgram.y"{ yyval.number = EXEC_PIECEMEAL; }break;case 71:#line 357 "jamgram.y"{ yyval.number = EXEC_EXISTING; }break;case 72:#line 366 "jamgram.y"{ yyval.parse = pnull(); }break;case 73:#line 368 "jamgram.y"{ yyval.parse = yyvsp[0].parse; }break;#line 878 "y.tab.c"    }    yyssp -= yym;    yystate = *yyssp;    yyvsp -= yym;    yym = yylhs[yyn];    if (yystate == 0 && yym == 0)    {#if YYDEBUG        if (yydebug)            printf("%sdebug: after reduction, shifting from state 0 to\ state %d\n", YYPREFIX, YYFINAL);#endif        yystate = YYFINAL;        *++yyssp = YYFINAL;        *++yyvsp = yyval;        if (yychar < 0)        {            if ((yychar = yylex()) < 0) yychar = 0;#if YYDEBUG            if (yydebug)            {                yys = 0;                if (yychar <= YYMAXTOKEN) yys = yyname[yychar];                if (!yys) yys = "illegal-symbol";                printf("%sdebug: state %d, reading %d (%s)\n",                        YYPREFIX, YYFINAL, yychar, yys);            }#endif        }        if (yychar == 0) goto yyaccept;        goto yyloop;    }    if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&            yyn <= YYTABLESIZE && yycheck[yyn] == yystate)        yystate = yytable[yyn];    else        yystate = yydgoto[yym];#if YYDEBUG    if (yydebug)        printf("%sdebug: after reduction, shifting from state %d \to state %d\n", YYPREFIX, *yyssp, yystate);#endif    if (yyssp >= yysslim && yygrowstack())    {        goto yyoverflow;    }    *++yyssp = yystate;    *++yyvsp = yyval;    goto yyloop;yyoverflow:    yyerror("yacc stack overflow");yyabort:    return (1);yyaccept:    return (0);}
2658	/local/tlutelli/issta_data/temp/c/2005_temp/2005/2658/4c14009b180ff226ffa19f3fae189df79a22e651/jamgram.c/clean/jam_src/jamgram.c