1264790Sbapt/* original parser id follows */ 2264790Sbapt/* yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93" */ 3264790Sbapt/* (use YYMAJOR/YYMINOR for ifdefs dependent on parser version) */ 4264790Sbapt 5264790Sbapt#define YYBYACC 1 6264790Sbapt#define YYMAJOR 1 7264790Sbapt#define YYMINOR 9 8264790Sbapt#define YYCHECK "yyyymmdd" 9264790Sbapt 10264790Sbapt#define YYEMPTY (-1) 11264790Sbapt#define yyclearin (yychar = YYEMPTY) 12264790Sbapt#define yyerrok (yyerrflag = 0) 13264790Sbapt#define YYRECOVERING() (yyerrflag != 0) 14264790Sbapt#define YYENOMEM (-2) 15264790Sbapt#define YYEOF 0 16264790Sbapt#line 17 "rename_debug.c" 17264790Sbapt#include "rename_debug.i" 18264790Sbapt#include "rename_debug.h" 19274475Sjkimtypedef int YYINT; 20264790Sbaptstatic const YYINT yylhs[] = { -1, 21264790Sbapt 0, 22264790Sbapt}; 23264790Sbaptstatic const YYINT yylen[] = { 2, 24264790Sbapt 1, 25264790Sbapt}; 26264790Sbaptstatic const YYINT yydefred[] = { 0, 27264790Sbapt 1, 0, 28264790Sbapt}; 29264790Sbaptstatic const YYINT yydgoto[] = { 2, 30264790Sbapt}; 31264790Sbaptstatic const YYINT yysindex[] = { -256, 32264790Sbapt 0, 0, 33264790Sbapt}; 34264790Sbaptstatic const YYINT yyrindex[] = { 0, 35264790Sbapt 0, 0, 36264790Sbapt}; 37264790Sbaptstatic const YYINT yygindex[] = { 0, 38264790Sbapt}; 39264790Sbapt#define YYTABLESIZE 0 40264790Sbaptstatic const YYINT yytable[] = { 1, 41264790Sbapt}; 42264790Sbaptstatic const YYINT yycheck[] = { 256, 43264790Sbapt}; 44264790Sbapt#define YYFINAL 2 45264790Sbapt#ifndef YYDEBUG 46264790Sbapt#define YYDEBUG 1 47264790Sbapt#endif 48264790Sbapt#define YYMAXTOKEN 256 49264790Sbapt#define YYUNDFTOKEN 259 50264790Sbapt#define YYTRANSLATE(a) ((a) > YYMAXTOKEN ? YYUNDFTOKEN : (a)) 51264790Sbapt#if YYDEBUG 52264790Sbaptstatic const char *const yyname[] = { 53264790Sbapt 54264790Sbapt"end-of-file",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 55264790Sbapt0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 56264790Sbapt0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 57264790Sbapt0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 58264790Sbapt0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 59264790Sbapt0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 60264790Sbapt0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"illegal-symbol", 61264790Sbapt}; 62264790Sbaptstatic const char *const yyrule[] = { 63264790Sbapt"$accept : S", 64264790Sbapt"S : error", 65264790Sbapt 66264790Sbapt}; 67264790Sbapt#endif 68264790Sbapt 69264790Sbaptint yydebug; 70264790Sbaptint yynerrs; 71264790Sbapt 72264790Sbaptint yyerrflag; 73264790Sbaptint yychar; 74264790SbaptYYSTYPE yyval; 75264790SbaptYYSTYPE yylval; 76264790Sbapt 77264790Sbapt/* define the initial stack-sizes */ 78264790Sbapt#ifdef YYSTACKSIZE 79264790Sbapt#undef YYMAXDEPTH 80264790Sbapt#define YYMAXDEPTH YYSTACKSIZE 81264790Sbapt#else 82264790Sbapt#ifdef YYMAXDEPTH 83264790Sbapt#define YYSTACKSIZE YYMAXDEPTH 84264790Sbapt#else 85264790Sbapt#define YYSTACKSIZE 10000 86264790Sbapt#define YYMAXDEPTH 10000 87264790Sbapt#endif 88264790Sbapt#endif 89264790Sbapt 90264790Sbapt#define YYINITSTACKSIZE 200 91264790Sbapt 92264790Sbapttypedef struct { 93264790Sbapt unsigned stacksize; 94264790Sbapt YYINT *s_base; 95264790Sbapt YYINT *s_mark; 96264790Sbapt YYINT *s_last; 97264790Sbapt YYSTYPE *l_base; 98264790Sbapt YYSTYPE *l_mark; 99264790Sbapt} YYSTACKDATA; 100264790Sbapt/* variables for the parser stack */ 101264790Sbaptstatic YYSTACKDATA yystack; 102264790Sbapt#line 12 "code_debug.y" 103264790Sbapt 104264790Sbapt#include <stdio.h> 105264790Sbapt 106264790Sbapt#ifdef YYBYACC 107264790Sbaptextern int YYLEX_DECL(); 108264790Sbapt#endif 109264790Sbapt 110264790Sbaptint 111264790Sbaptmain(void) 112264790Sbapt{ 113264790Sbapt printf("yyparse() = %d\n", yyparse()); 114264790Sbapt return 0; 115264790Sbapt} 116264790Sbapt 117264790Sbaptint 118264790Sbaptyylex(void) 119264790Sbapt{ 120264790Sbapt return -1; 121264790Sbapt} 122264790Sbapt 123264790Sbaptstatic void 124264790Sbaptyyerror(const char* s) 125264790Sbapt{ 126264790Sbapt printf("%s\n", s); 127264790Sbapt} 128264790Sbapt#line 130 "rename_debug.c" 129264790Sbapt 130264790Sbapt#if YYDEBUG 131319297Sdelphij#include <stdio.h> /* needed for printf */ 132264790Sbapt#endif 133264790Sbapt 134264790Sbapt#include <stdlib.h> /* needed for malloc, etc */ 135264790Sbapt#include <string.h> /* needed for memset */ 136264790Sbapt 137264790Sbapt/* allocate initial stack or double stack size, up to YYMAXDEPTH */ 138264790Sbaptstatic int yygrowstack(YYSTACKDATA *data) 139264790Sbapt{ 140264790Sbapt int i; 141264790Sbapt unsigned newsize; 142264790Sbapt YYINT *newss; 143264790Sbapt YYSTYPE *newvs; 144264790Sbapt 145264790Sbapt if ((newsize = data->stacksize) == 0) 146264790Sbapt newsize = YYINITSTACKSIZE; 147264790Sbapt else if (newsize >= YYMAXDEPTH) 148264790Sbapt return YYENOMEM; 149264790Sbapt else if ((newsize *= 2) > YYMAXDEPTH) 150264790Sbapt newsize = YYMAXDEPTH; 151264790Sbapt 152264790Sbapt i = (int) (data->s_mark - data->s_base); 153264790Sbapt newss = (YYINT *)realloc(data->s_base, newsize * sizeof(*newss)); 154264790Sbapt if (newss == 0) 155264790Sbapt return YYENOMEM; 156264790Sbapt 157264790Sbapt data->s_base = newss; 158264790Sbapt data->s_mark = newss + i; 159264790Sbapt 160264790Sbapt newvs = (YYSTYPE *)realloc(data->l_base, newsize * sizeof(*newvs)); 161264790Sbapt if (newvs == 0) 162264790Sbapt return YYENOMEM; 163264790Sbapt 164264790Sbapt data->l_base = newvs; 165264790Sbapt data->l_mark = newvs + i; 166264790Sbapt 167264790Sbapt data->stacksize = newsize; 168264790Sbapt data->s_last = data->s_base + newsize - 1; 169264790Sbapt return 0; 170264790Sbapt} 171264790Sbapt 172264790Sbapt#if YYPURE || defined(YY_NO_LEAKS) 173264790Sbaptstatic void yyfreestack(YYSTACKDATA *data) 174264790Sbapt{ 175264790Sbapt free(data->s_base); 176264790Sbapt free(data->l_base); 177264790Sbapt memset(data, 0, sizeof(*data)); 178264790Sbapt} 179264790Sbapt#else 180264790Sbapt#define yyfreestack(data) /* nothing */ 181264790Sbapt#endif 182264790Sbapt 183264790Sbapt#define YYABORT goto yyabort 184264790Sbapt#define YYREJECT goto yyabort 185264790Sbapt#define YYACCEPT goto yyaccept 186264790Sbapt#define YYERROR goto yyerrlab 187264790Sbapt 188264790Sbaptint 189264790SbaptYYPARSE_DECL() 190264790Sbapt{ 191264790Sbapt int yym, yyn, yystate; 192264790Sbapt#if YYDEBUG 193264790Sbapt const char *yys; 194264790Sbapt 195264790Sbapt if ((yys = getenv("YYDEBUG")) != 0) 196264790Sbapt { 197264790Sbapt yyn = *yys; 198264790Sbapt if (yyn >= '0' && yyn <= '9') 199264790Sbapt yydebug = yyn - '0'; 200264790Sbapt } 201264790Sbapt#endif 202264790Sbapt 203319297Sdelphij yym = 0; 204319297Sdelphij yyn = 0; 205264790Sbapt yynerrs = 0; 206264790Sbapt yyerrflag = 0; 207264790Sbapt yychar = YYEMPTY; 208264790Sbapt yystate = 0; 209264790Sbapt 210264790Sbapt#if YYPURE 211264790Sbapt memset(&yystack, 0, sizeof(yystack)); 212264790Sbapt#endif 213264790Sbapt 214264790Sbapt if (yystack.s_base == NULL && yygrowstack(&yystack) == YYENOMEM) goto yyoverflow; 215264790Sbapt yystack.s_mark = yystack.s_base; 216264790Sbapt yystack.l_mark = yystack.l_base; 217264790Sbapt yystate = 0; 218264790Sbapt *yystack.s_mark = 0; 219264790Sbapt 220264790Sbaptyyloop: 221264790Sbapt if ((yyn = yydefred[yystate]) != 0) goto yyreduce; 222264790Sbapt if (yychar < 0) 223264790Sbapt { 224319297Sdelphij yychar = YYLEX; 225319297Sdelphij if (yychar < 0) yychar = YYEOF; 226264790Sbapt#if YYDEBUG 227264790Sbapt if (yydebug) 228264790Sbapt { 229319297Sdelphij if ((yys = yyname[YYTRANSLATE(yychar)]) == NULL) yys = yyname[YYUNDFTOKEN]; 230264790Sbapt printf("%sdebug: state %d, reading %d (%s)\n", 231264790Sbapt YYPREFIX, yystate, yychar, yys); 232264790Sbapt } 233264790Sbapt#endif 234264790Sbapt } 235319297Sdelphij if (((yyn = yysindex[yystate]) != 0) && (yyn += yychar) >= 0 && 236319297Sdelphij yyn <= YYTABLESIZE && yycheck[yyn] == (YYINT) yychar) 237264790Sbapt { 238264790Sbapt#if YYDEBUG 239264790Sbapt if (yydebug) 240264790Sbapt printf("%sdebug: state %d, shifting to state %d\n", 241264790Sbapt YYPREFIX, yystate, yytable[yyn]); 242264790Sbapt#endif 243319297Sdelphij if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack) == YYENOMEM) goto yyoverflow; 244264790Sbapt yystate = yytable[yyn]; 245264790Sbapt *++yystack.s_mark = yytable[yyn]; 246264790Sbapt *++yystack.l_mark = yylval; 247264790Sbapt yychar = YYEMPTY; 248264790Sbapt if (yyerrflag > 0) --yyerrflag; 249264790Sbapt goto yyloop; 250264790Sbapt } 251319297Sdelphij if (((yyn = yyrindex[yystate]) != 0) && (yyn += yychar) >= 0 && 252319297Sdelphij yyn <= YYTABLESIZE && yycheck[yyn] == (YYINT) yychar) 253264790Sbapt { 254264790Sbapt yyn = yytable[yyn]; 255264790Sbapt goto yyreduce; 256264790Sbapt } 257319297Sdelphij if (yyerrflag != 0) goto yyinrecovery; 258264790Sbapt 259264790Sbapt YYERROR_CALL("syntax error"); 260264790Sbapt 261319297Sdelphij goto yyerrlab; /* redundant goto avoids 'unused label' warning */ 262264790Sbaptyyerrlab: 263264790Sbapt ++yynerrs; 264264790Sbapt 265264790Sbaptyyinrecovery: 266264790Sbapt if (yyerrflag < 3) 267264790Sbapt { 268264790Sbapt yyerrflag = 3; 269264790Sbapt for (;;) 270264790Sbapt { 271319297Sdelphij if (((yyn = yysindex[*yystack.s_mark]) != 0) && (yyn += YYERRCODE) >= 0 && 272319297Sdelphij yyn <= YYTABLESIZE && yycheck[yyn] == (YYINT) YYERRCODE) 273264790Sbapt { 274264790Sbapt#if YYDEBUG 275264790Sbapt if (yydebug) 276264790Sbapt printf("%sdebug: state %d, error recovery shifting\ 277264790Sbapt to state %d\n", YYPREFIX, *yystack.s_mark, yytable[yyn]); 278264790Sbapt#endif 279319297Sdelphij if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack) == YYENOMEM) goto yyoverflow; 280264790Sbapt yystate = yytable[yyn]; 281264790Sbapt *++yystack.s_mark = yytable[yyn]; 282264790Sbapt *++yystack.l_mark = yylval; 283264790Sbapt goto yyloop; 284264790Sbapt } 285264790Sbapt else 286264790Sbapt { 287264790Sbapt#if YYDEBUG 288264790Sbapt if (yydebug) 289264790Sbapt printf("%sdebug: error recovery discarding state %d\n", 290264790Sbapt YYPREFIX, *yystack.s_mark); 291264790Sbapt#endif 292264790Sbapt if (yystack.s_mark <= yystack.s_base) goto yyabort; 293264790Sbapt --yystack.s_mark; 294264790Sbapt --yystack.l_mark; 295264790Sbapt } 296264790Sbapt } 297264790Sbapt } 298264790Sbapt else 299264790Sbapt { 300264790Sbapt if (yychar == YYEOF) goto yyabort; 301264790Sbapt#if YYDEBUG 302264790Sbapt if (yydebug) 303264790Sbapt { 304319297Sdelphij if ((yys = yyname[YYTRANSLATE(yychar)]) == NULL) yys = yyname[YYUNDFTOKEN]; 305264790Sbapt printf("%sdebug: state %d, error recovery discards token %d (%s)\n", 306264790Sbapt YYPREFIX, yystate, yychar, yys); 307264790Sbapt } 308264790Sbapt#endif 309264790Sbapt yychar = YYEMPTY; 310264790Sbapt goto yyloop; 311264790Sbapt } 312264790Sbapt 313264790Sbaptyyreduce: 314264790Sbapt#if YYDEBUG 315264790Sbapt if (yydebug) 316264790Sbapt printf("%sdebug: state %d, reducing by rule %d (%s)\n", 317264790Sbapt YYPREFIX, yystate, yyn, yyrule[yyn]); 318264790Sbapt#endif 319264790Sbapt yym = yylen[yyn]; 320319297Sdelphij if (yym > 0) 321264790Sbapt yyval = yystack.l_mark[1-yym]; 322264790Sbapt else 323264790Sbapt memset(&yyval, 0, sizeof yyval); 324319297Sdelphij 325264790Sbapt switch (yyn) 326264790Sbapt { 327264790Sbapt } 328264790Sbapt yystack.s_mark -= yym; 329264790Sbapt yystate = *yystack.s_mark; 330264790Sbapt yystack.l_mark -= yym; 331264790Sbapt yym = yylhs[yyn]; 332264790Sbapt if (yystate == 0 && yym == 0) 333264790Sbapt { 334264790Sbapt#if YYDEBUG 335264790Sbapt if (yydebug) 336264790Sbapt printf("%sdebug: after reduction, shifting from state 0 to\ 337264790Sbapt state %d\n", YYPREFIX, YYFINAL); 338264790Sbapt#endif 339264790Sbapt yystate = YYFINAL; 340264790Sbapt *++yystack.s_mark = YYFINAL; 341264790Sbapt *++yystack.l_mark = yyval; 342264790Sbapt if (yychar < 0) 343264790Sbapt { 344319297Sdelphij yychar = YYLEX; 345319297Sdelphij if (yychar < 0) yychar = YYEOF; 346264790Sbapt#if YYDEBUG 347264790Sbapt if (yydebug) 348264790Sbapt { 349319297Sdelphij if ((yys = yyname[YYTRANSLATE(yychar)]) == NULL) yys = yyname[YYUNDFTOKEN]; 350264790Sbapt printf("%sdebug: state %d, reading %d (%s)\n", 351264790Sbapt YYPREFIX, YYFINAL, yychar, yys); 352264790Sbapt } 353264790Sbapt#endif 354264790Sbapt } 355264790Sbapt if (yychar == YYEOF) goto yyaccept; 356264790Sbapt goto yyloop; 357264790Sbapt } 358319297Sdelphij if (((yyn = yygindex[yym]) != 0) && (yyn += yystate) >= 0 && 359319297Sdelphij yyn <= YYTABLESIZE && yycheck[yyn] == (YYINT) yystate) 360264790Sbapt yystate = yytable[yyn]; 361264790Sbapt else 362264790Sbapt yystate = yydgoto[yym]; 363264790Sbapt#if YYDEBUG 364264790Sbapt if (yydebug) 365264790Sbapt printf("%sdebug: after reduction, shifting from state %d \ 366264790Sbaptto state %d\n", YYPREFIX, *yystack.s_mark, yystate); 367264790Sbapt#endif 368319297Sdelphij if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack) == YYENOMEM) goto yyoverflow; 369264790Sbapt *++yystack.s_mark = (YYINT) yystate; 370264790Sbapt *++yystack.l_mark = yyval; 371264790Sbapt goto yyloop; 372264790Sbapt 373264790Sbaptyyoverflow: 374264790Sbapt YYERROR_CALL("yacc stack overflow"); 375264790Sbapt 376264790Sbaptyyabort: 377264790Sbapt yyfreestack(&yystack); 378264790Sbapt return (1); 379264790Sbapt 380264790Sbaptyyaccept: 381264790Sbapt yyfreestack(&yystack); 382264790Sbapt return (0); 383264790Sbapt} 384