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" 19264790Sbapttypedef short 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 131264790Sbapt#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 203264790Sbapt yynerrs = 0; 204264790Sbapt yyerrflag = 0; 205264790Sbapt yychar = YYEMPTY; 206264790Sbapt yystate = 0; 207264790Sbapt 208264790Sbapt#if YYPURE 209264790Sbapt memset(&yystack, 0, sizeof(yystack)); 210264790Sbapt#endif 211264790Sbapt 212264790Sbapt if (yystack.s_base == NULL && yygrowstack(&yystack) == YYENOMEM) goto yyoverflow; 213264790Sbapt yystack.s_mark = yystack.s_base; 214264790Sbapt yystack.l_mark = yystack.l_base; 215264790Sbapt yystate = 0; 216264790Sbapt *yystack.s_mark = 0; 217264790Sbapt 218264790Sbaptyyloop: 219264790Sbapt if ((yyn = yydefred[yystate]) != 0) goto yyreduce; 220264790Sbapt if (yychar < 0) 221264790Sbapt { 222264790Sbapt if ((yychar = YYLEX) < 0) yychar = YYEOF; 223264790Sbapt#if YYDEBUG 224264790Sbapt if (yydebug) 225264790Sbapt { 226264790Sbapt yys = yyname[YYTRANSLATE(yychar)]; 227264790Sbapt printf("%sdebug: state %d, reading %d (%s)\n", 228264790Sbapt YYPREFIX, yystate, yychar, yys); 229264790Sbapt } 230264790Sbapt#endif 231264790Sbapt } 232264790Sbapt if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 && 233264790Sbapt yyn <= YYTABLESIZE && yycheck[yyn] == yychar) 234264790Sbapt { 235264790Sbapt#if YYDEBUG 236264790Sbapt if (yydebug) 237264790Sbapt printf("%sdebug: state %d, shifting to state %d\n", 238264790Sbapt YYPREFIX, yystate, yytable[yyn]); 239264790Sbapt#endif 240264790Sbapt if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack) == YYENOMEM) 241264790Sbapt { 242264790Sbapt goto yyoverflow; 243264790Sbapt } 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 } 251264790Sbapt if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 && 252264790Sbapt yyn <= YYTABLESIZE && yycheck[yyn] == yychar) 253264790Sbapt { 254264790Sbapt yyn = yytable[yyn]; 255264790Sbapt goto yyreduce; 256264790Sbapt } 257264790Sbapt if (yyerrflag) goto yyinrecovery; 258264790Sbapt 259264790Sbapt YYERROR_CALL("syntax error"); 260264790Sbapt 261264790Sbapt goto yyerrlab; 262264790Sbapt 263264790Sbaptyyerrlab: 264264790Sbapt ++yynerrs; 265264790Sbapt 266264790Sbaptyyinrecovery: 267264790Sbapt if (yyerrflag < 3) 268264790Sbapt { 269264790Sbapt yyerrflag = 3; 270264790Sbapt for (;;) 271264790Sbapt { 272264790Sbapt if ((yyn = yysindex[*yystack.s_mark]) && (yyn += YYERRCODE) >= 0 && 273264790Sbapt yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE) 274264790Sbapt { 275264790Sbapt#if YYDEBUG 276264790Sbapt if (yydebug) 277264790Sbapt printf("%sdebug: state %d, error recovery shifting\ 278264790Sbapt to state %d\n", YYPREFIX, *yystack.s_mark, yytable[yyn]); 279264790Sbapt#endif 280264790Sbapt if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack) == YYENOMEM) 281264790Sbapt { 282264790Sbapt goto yyoverflow; 283264790Sbapt } 284264790Sbapt yystate = yytable[yyn]; 285264790Sbapt *++yystack.s_mark = yytable[yyn]; 286264790Sbapt *++yystack.l_mark = yylval; 287264790Sbapt goto yyloop; 288264790Sbapt } 289264790Sbapt else 290264790Sbapt { 291264790Sbapt#if YYDEBUG 292264790Sbapt if (yydebug) 293264790Sbapt printf("%sdebug: error recovery discarding state %d\n", 294264790Sbapt YYPREFIX, *yystack.s_mark); 295264790Sbapt#endif 296264790Sbapt if (yystack.s_mark <= yystack.s_base) goto yyabort; 297264790Sbapt --yystack.s_mark; 298264790Sbapt --yystack.l_mark; 299264790Sbapt } 300264790Sbapt } 301264790Sbapt } 302264790Sbapt else 303264790Sbapt { 304264790Sbapt if (yychar == YYEOF) goto yyabort; 305264790Sbapt#if YYDEBUG 306264790Sbapt if (yydebug) 307264790Sbapt { 308264790Sbapt yys = yyname[YYTRANSLATE(yychar)]; 309264790Sbapt printf("%sdebug: state %d, error recovery discards token %d (%s)\n", 310264790Sbapt YYPREFIX, yystate, yychar, yys); 311264790Sbapt } 312264790Sbapt#endif 313264790Sbapt yychar = YYEMPTY; 314264790Sbapt goto yyloop; 315264790Sbapt } 316264790Sbapt 317264790Sbaptyyreduce: 318264790Sbapt#if YYDEBUG 319264790Sbapt if (yydebug) 320264790Sbapt printf("%sdebug: state %d, reducing by rule %d (%s)\n", 321264790Sbapt YYPREFIX, yystate, yyn, yyrule[yyn]); 322264790Sbapt#endif 323264790Sbapt yym = yylen[yyn]; 324264790Sbapt if (yym) 325264790Sbapt yyval = yystack.l_mark[1-yym]; 326264790Sbapt else 327264790Sbapt memset(&yyval, 0, sizeof yyval); 328264790Sbapt switch (yyn) 329264790Sbapt { 330264790Sbapt } 331264790Sbapt yystack.s_mark -= yym; 332264790Sbapt yystate = *yystack.s_mark; 333264790Sbapt yystack.l_mark -= yym; 334264790Sbapt yym = yylhs[yyn]; 335264790Sbapt if (yystate == 0 && yym == 0) 336264790Sbapt { 337264790Sbapt#if YYDEBUG 338264790Sbapt if (yydebug) 339264790Sbapt printf("%sdebug: after reduction, shifting from state 0 to\ 340264790Sbapt state %d\n", YYPREFIX, YYFINAL); 341264790Sbapt#endif 342264790Sbapt yystate = YYFINAL; 343264790Sbapt *++yystack.s_mark = YYFINAL; 344264790Sbapt *++yystack.l_mark = yyval; 345264790Sbapt if (yychar < 0) 346264790Sbapt { 347264790Sbapt if ((yychar = YYLEX) < 0) yychar = YYEOF; 348264790Sbapt#if YYDEBUG 349264790Sbapt if (yydebug) 350264790Sbapt { 351264790Sbapt yys = yyname[YYTRANSLATE(yychar)]; 352264790Sbapt printf("%sdebug: state %d, reading %d (%s)\n", 353264790Sbapt YYPREFIX, YYFINAL, yychar, yys); 354264790Sbapt } 355264790Sbapt#endif 356264790Sbapt } 357264790Sbapt if (yychar == YYEOF) goto yyaccept; 358264790Sbapt goto yyloop; 359264790Sbapt } 360264790Sbapt if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 && 361264790Sbapt yyn <= YYTABLESIZE && yycheck[yyn] == yystate) 362264790Sbapt yystate = yytable[yyn]; 363264790Sbapt else 364264790Sbapt yystate = yydgoto[yym]; 365264790Sbapt#if YYDEBUG 366264790Sbapt if (yydebug) 367264790Sbapt printf("%sdebug: after reduction, shifting from state %d \ 368264790Sbaptto state %d\n", YYPREFIX, *yystack.s_mark, yystate); 369264790Sbapt#endif 370264790Sbapt if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack) == YYENOMEM) 371264790Sbapt { 372264790Sbapt goto yyoverflow; 373264790Sbapt } 374264790Sbapt *++yystack.s_mark = (YYINT) yystate; 375264790Sbapt *++yystack.l_mark = yyval; 376264790Sbapt goto yyloop; 377264790Sbapt 378264790Sbaptyyoverflow: 379264790Sbapt YYERROR_CALL("yacc stack overflow"); 380264790Sbapt 381264790Sbaptyyabort: 382264790Sbapt yyfreestack(&yystack); 383264790Sbapt return (1); 384264790Sbapt 385264790Sbaptyyaccept: 386264790Sbapt yyfreestack(&yystack); 387264790Sbapt return (0); 388264790Sbapt} 389