printf("yydebug: state %d, shifting to state %d\n", yystate, yytable[yyn]);
PRINTF("yydebug: state %d, shifting to state %d\n", yystate, yytable[yyn]);
yyparse(){    register int yym, yyn, yystate;#if YYDEBUG    register char *yys;    extern char *getenv();    if (yys = getenv("YYDEBUG"))    {        yyn = *yys;        if (yyn >= '0' && yyn <= '9')            yydebug = yyn - '0';    }#endif    yynerrs = 0;    yyerrflag = 0;    yychar = (-1);    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 <= YYPR_MAXTOKEN) yys = yyname[yychar];            if (!yys) yys = "illegal-symbol";            printf("yydebug: state %d, reading %d (%s)\n", yystate,                    yychar, yys);        }#endif    }    if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&            yyn <= YYTABLESIZE && yycheck[yyn] == yychar)    {#if YYDEBUG        if (yydebug)            printf("yydebug: state %d, shifting to state %d\n",                    yystate, yytable[yyn]);#endif        if (yyssp >= yyss + yystacksize - 1)        {            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;#ifdef lint    goto yynewerror;#endif/*yynewerror: */    yyerror("syntax error");#ifdef lint    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("yydebug: state %d, error recovery shifting\ to state %d\n", *yyssp, yytable[yyn]);#endif                if (yyssp >= yyss + yystacksize - 1)                {                    goto yyoverflow;                }                *++yyssp = yystate = yytable[yyn];                *++yyvsp = yylval;                goto yyloop;            }            else            {#if YYDEBUG                if (yydebug)                    printf("yydebug: error recovery discarding state %d\n",                            *yyssp);#endif                if (yyssp <= yyss) goto yyabort;                --yyssp;                --yyvsp;            }        }    }    else    {        if (yychar == 0) goto yyabort;#if YYDEBUG        if (yydebug)        {            yys = 0;            if (yychar <= YYPR_MAXTOKEN) yys = yyname[yychar];            if (!yys) yys = "illegal-symbol";            printf("yydebug: state %d, error recovery discards token %d (%s)\n",                    yystate, yychar, yys);        }#endif        yychar = (-1);        goto yyloop;    }yyreduce:#if YYDEBUG    if (yydebug)        printf("yydebug: state %d, reducing by rule %d (%s)\n",                yystate, yyn, yyrule[yyn]);#endif    yym = yylen[yyn];    yyval = yyvsp[1-yym];    switch (yyn)    {case 2:/*#line 282 "vcc.y"*/{ addList(&vObjList, yyvsp[0].vobj ); curObj = 0; }break;case 4:/*#line 285 "vcc.y"*/{ addList(&vObjList, yyvsp[0].vobj ); curObj = 0; }break;case 7:/*#line 294 "vcc.y"*/{	lexPushMode(L_VCARD);	if (!pushVObject(VCCardProp)) YYERROR;	}break;case 8:/*#line 299 "vcc.y"*/{	lexPopMode(0);	yyval.vobj  = popVObject();	}break;case 9:/*#line 304 "vcc.y"*/{	lexPushMode(L_VCARD);	if (!pushVObject(VCCardProp)) YYERROR;	}break;case 10:/*#line 309 "vcc.y"*/{	lexPopMode(0);	yyval.vobj  = popVObject();	}break;case 13:/*#line 320 "vcc.y"*/{	lexPushMode(L_VALUES);	}break;case 14:/*#line 324 "vcc.y"*/{	if (lexWithinMode(L_BASE64) || lexWithinMode(L_QUOTED_PRINTABLE))	   lexPopMode(0);	lexPopMode(0);	}break;case 16:/*#line 332 "vcc.y"*/{	enterProps(yyvsp[0].str );	}break;case 18:/*#line 337 "vcc.y"*/{	enterProps(yyvsp[0].str );	}break;case 22:/*#line 350 "vcc.y"*/{	enterAttr(yyvsp[0].str ,0);	}break;case 23:/*#line 354 "vcc.y"*/{	enterAttr(yyvsp[-2].str ,yyvsp[0].str );	}break;case 25:/*#line 363 "vcc.y"*/{ enterValues(yyvsp[-1].str ); }break;case 27:/*#line 365 "vcc.y"*/{ enterValues(yyvsp[0].str ); }break;case 29:/*#line 370 "vcc.y"*/{ yyval.str  = 0; }break;case 30:/*#line 375 "vcc.y"*/{ if (!pushVObject(VCCalProp)) YYERROR; }break;case 31:/*#line 378 "vcc.y"*/{ yyval.vobj  = popVObject(); }break;case 32:/*#line 380 "vcc.y"*/{ if (!pushVObject(VCCalProp)) YYERROR; }break;case 33:/*#line 382 "vcc.y"*/{ yyval.vobj  = popVObject(); }break;case 39:/*#line 397 "vcc.y"*/{	lexPushMode(L_VEVENT);	if (!pushVObject(VCEventProp)) YYERROR;	}break;case 40:/*#line 403 "vcc.y"*/{	lexPopMode(0);	popVObject();	}break;case 41:/*#line 408 "vcc.y"*/{	lexPushMode(L_VEVENT);	if (!pushVObject(VCEventProp)) YYERROR;	}break;case 42:/*#line 413 "vcc.y"*/{	lexPopMode(0);	popVObject();	}break;case 43:/*#line 421 "vcc.y"*/{	lexPushMode(L_VTODO);	if (!pushVObject(VCTodoProp)) YYERROR;	}break;case 44:/*#line 427 "vcc.y"*/{	lexPopMode(0);	popVObject();	}break;case 45:/*#line 432 "vcc.y"*/{	lexPushMode(L_VTODO);	if (!pushVObject(VCTodoProp)) YYERROR;	}break;case 46:/*#line 437 "vcc.y"*/{	lexPopMode(0);	popVObject();	}break;/*#line 1520 "y_tab.c"*/    }    yyssp -= yym;    yystate = *yyssp;    yyvsp -= yym;    yym = yylhs[yyn];    if (yystate == 0 && yym == 0)    {#if YYDEBUG        if (yydebug)            printf("yydebug: after reduction, shifting from state 0 to\ state %d\n", 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 <= YYPR_MAXTOKEN) yys = yyname[yychar];                if (!yys) yys = "illegal-symbol";                printf("yydebug: state %d, reading %d (%s)\n",                        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("yydebug: after reduction, shifting from state %d \to state %d\n", *yyssp, yystate);#endif    if (yyssp >= yyss + yystacksize - 1)    {        goto yyoverflow;    }    *++yyssp = yystate;    *++yyvsp = yyval;    goto yyloop;yyoverflow:    yyerror("yacc stack overflow");yyabort:    return (1);yyaccept:    return (0);}