error.tab.c revision 1590
1#ifndef lint 2static char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93"; 3#endif 4#define YYBYACC 1 5#define YYMAJOR 1 6#define YYMINOR 9 7#define yyclearin (yychar=(-1)) 8#define yyerrok (yyerrflag=0) 9#define YYRECOVERING (yyerrflag!=0) 10#define YYPREFIX "yy" 11#define YYERRCODE 256 12short yylhs[] = { -1, 13 0, 14}; 15short yylen[] = { 2, 16 1, 17}; 18short yydefred[] = { 0, 19 1, 0, 20}; 21short yydgoto[] = { 2, 22}; 23short yysindex[] = { -256, 24 0, 0, 25}; 26short yyrindex[] = { 0, 27 0, 0, 28}; 29short yygindex[] = { 0, 30}; 31#define YYTABLESIZE 0 32short yytable[] = { 1, 33}; 34short yycheck[] = { 256, 35}; 36#define YYFINAL 2 37#ifndef YYDEBUG 38#define YYDEBUG 0 39#endif 40#define YYMAXTOKEN 0 41#if YYDEBUG 42char *yyname[] = { 43"end-of-file", 44}; 45char *yyrule[] = { 46"$accept : S", 47"S : error", 48}; 49#endif 50#ifndef YYSTYPE 51typedef int YYSTYPE; 52#endif 53#ifdef YYSTACKSIZE 54#undef YYMAXDEPTH 55#define YYMAXDEPTH YYSTACKSIZE 56#else 57#ifdef YYMAXDEPTH 58#define YYSTACKSIZE YYMAXDEPTH 59#else 60#define YYSTACKSIZE 500 61#define YYMAXDEPTH 500 62#endif 63#endif 64int yydebug; 65int yynerrs; 66int yyerrflag; 67int yychar; 68short *yyssp; 69YYSTYPE *yyvsp; 70YYSTYPE yyval; 71YYSTYPE yylval; 72short yyss[YYSTACKSIZE]; 73YYSTYPE yyvs[YYSTACKSIZE]; 74#define yystacksize YYSTACKSIZE 75#line 4 "error.y" 76main(){printf("yyparse() = %d\n",yyparse());} 77yylex(){return-1;} 78yyerror(s)char*s;{printf("%s\n",s);} 79#line 80 "error.tab.c" 80#define YYABORT goto yyabort 81#define YYREJECT goto yyabort 82#define YYACCEPT goto yyaccept 83#define YYERROR goto yyerrlab 84int 85yyparse() 86{ 87 register int yym, yyn, yystate; 88#if YYDEBUG 89 register char *yys; 90 extern char *getenv(); 91 92 if (yys = getenv("YYDEBUG")) 93 { 94 yyn = *yys; 95 if (yyn >= '0' && yyn <= '9') 96 yydebug = yyn - '0'; 97 } 98#endif 99 100 yynerrs = 0; 101 yyerrflag = 0; 102 yychar = (-1); 103 104 yyssp = yyss; 105 yyvsp = yyvs; 106 *yyssp = yystate = 0; 107 108yyloop: 109 if (yyn = yydefred[yystate]) goto yyreduce; 110 if (yychar < 0) 111 { 112 if ((yychar = yylex()) < 0) yychar = 0; 113#if YYDEBUG 114 if (yydebug) 115 { 116 yys = 0; 117 if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; 118 if (!yys) yys = "illegal-symbol"; 119 printf("%sdebug: state %d, reading %d (%s)\n", 120 YYPREFIX, yystate, yychar, yys); 121 } 122#endif 123 } 124 if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 && 125 yyn <= YYTABLESIZE && yycheck[yyn] == yychar) 126 { 127#if YYDEBUG 128 if (yydebug) 129 printf("%sdebug: state %d, shifting to state %d\n", 130 YYPREFIX, yystate, yytable[yyn]); 131#endif 132 if (yyssp >= yyss + yystacksize - 1) 133 { 134 goto yyoverflow; 135 } 136 *++yyssp = yystate = yytable[yyn]; 137 *++yyvsp = yylval; 138 yychar = (-1); 139 if (yyerrflag > 0) --yyerrflag; 140 goto yyloop; 141 } 142 if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 && 143 yyn <= YYTABLESIZE && yycheck[yyn] == yychar) 144 { 145 yyn = yytable[yyn]; 146 goto yyreduce; 147 } 148 if (yyerrflag) goto yyinrecovery; 149#ifdef lint 150 goto yynewerror; 151#endif 152yynewerror: 153 yyerror("syntax error"); 154#ifdef lint 155 goto yyerrlab; 156#endif 157yyerrlab: 158 ++yynerrs; 159yyinrecovery: 160 if (yyerrflag < 3) 161 { 162 yyerrflag = 3; 163 for (;;) 164 { 165 if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 && 166 yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE) 167 { 168#if YYDEBUG 169 if (yydebug) 170 printf("%sdebug: state %d, error recovery shifting\ 171 to state %d\n", YYPREFIX, *yyssp, yytable[yyn]); 172#endif 173 if (yyssp >= yyss + yystacksize - 1) 174 { 175 goto yyoverflow; 176 } 177 *++yyssp = yystate = yytable[yyn]; 178 *++yyvsp = yylval; 179 goto yyloop; 180 } 181 else 182 { 183#if YYDEBUG 184 if (yydebug) 185 printf("%sdebug: error recovery discarding state %d\n", 186 YYPREFIX, *yyssp); 187#endif 188 if (yyssp <= yyss) goto yyabort; 189 --yyssp; 190 --yyvsp; 191 } 192 } 193 } 194 else 195 { 196 if (yychar == 0) goto yyabort; 197#if YYDEBUG 198 if (yydebug) 199 { 200 yys = 0; 201 if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; 202 if (!yys) yys = "illegal-symbol"; 203 printf("%sdebug: state %d, error recovery discards token %d (%s)\n", 204 YYPREFIX, yystate, yychar, yys); 205 } 206#endif 207 yychar = (-1); 208 goto yyloop; 209 } 210yyreduce: 211#if YYDEBUG 212 if (yydebug) 213 printf("%sdebug: state %d, reducing by rule %d (%s)\n", 214 YYPREFIX, yystate, yyn, yyrule[yyn]); 215#endif 216 yym = yylen[yyn]; 217 yyval = yyvsp[1-yym]; 218 switch (yyn) 219 { 220 } 221 yyssp -= yym; 222 yystate = *yyssp; 223 yyvsp -= yym; 224 yym = yylhs[yyn]; 225 if (yystate == 0 && yym == 0) 226 { 227#if YYDEBUG 228 if (yydebug) 229 printf("%sdebug: after reduction, shifting from state 0 to\ 230 state %d\n", YYPREFIX, YYFINAL); 231#endif 232 yystate = YYFINAL; 233 *++yyssp = YYFINAL; 234 *++yyvsp = yyval; 235 if (yychar < 0) 236 { 237 if ((yychar = yylex()) < 0) yychar = 0; 238#if YYDEBUG 239 if (yydebug) 240 { 241 yys = 0; 242 if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; 243 if (!yys) yys = "illegal-symbol"; 244 printf("%sdebug: state %d, reading %d (%s)\n", 245 YYPREFIX, YYFINAL, yychar, yys); 246 } 247#endif 248 } 249 if (yychar == 0) goto yyaccept; 250 goto yyloop; 251 } 252 if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 && 253 yyn <= YYTABLESIZE && yycheck[yyn] == yystate) 254 yystate = yytable[yyn]; 255 else 256 yystate = yydgoto[yym]; 257#if YYDEBUG 258 if (yydebug) 259 printf("%sdebug: after reduction, shifting from state %d \ 260to state %d\n", YYPREFIX, *yyssp, yystate); 261#endif 262 if (yyssp >= yyss + yystacksize - 1) 263 { 264 goto yyoverflow; 265 } 266 *++yyssp = yystate; 267 *++yyvsp = yyval; 268 goto yyloop; 269yyoverflow: 270 yyerror("yacc stack overflow"); 271yyabort: 272 return (1); 273yyaccept: 274 return (0); 275} 276