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 17264790Sbapt#ifndef yyparse 18264790Sbapt#define yyparse err_syntax20_parse 19264790Sbapt#endif /* yyparse */ 20264790Sbapt 21264790Sbapt#ifndef yylex 22264790Sbapt#define yylex err_syntax20_lex 23264790Sbapt#endif /* yylex */ 24264790Sbapt 25264790Sbapt#ifndef yyerror 26264790Sbapt#define yyerror err_syntax20_error 27264790Sbapt#endif /* yyerror */ 28264790Sbapt 29264790Sbapt#ifndef yychar 30264790Sbapt#define yychar err_syntax20_char 31264790Sbapt#endif /* yychar */ 32264790Sbapt 33264790Sbapt#ifndef yyval 34264790Sbapt#define yyval err_syntax20_val 35264790Sbapt#endif /* yyval */ 36264790Sbapt 37264790Sbapt#ifndef yylval 38264790Sbapt#define yylval err_syntax20_lval 39264790Sbapt#endif /* yylval */ 40264790Sbapt 41264790Sbapt#ifndef yydebug 42264790Sbapt#define yydebug err_syntax20_debug 43264790Sbapt#endif /* yydebug */ 44264790Sbapt 45264790Sbapt#ifndef yynerrs 46264790Sbapt#define yynerrs err_syntax20_nerrs 47264790Sbapt#endif /* yynerrs */ 48264790Sbapt 49264790Sbapt#ifndef yyerrflag 50264790Sbapt#define yyerrflag err_syntax20_errflag 51264790Sbapt#endif /* yyerrflag */ 52264790Sbapt 53264790Sbapt#ifndef yylhs 54264790Sbapt#define yylhs err_syntax20_lhs 55264790Sbapt#endif /* yylhs */ 56264790Sbapt 57264790Sbapt#ifndef yylen 58264790Sbapt#define yylen err_syntax20_len 59264790Sbapt#endif /* yylen */ 60264790Sbapt 61264790Sbapt#ifndef yydefred 62264790Sbapt#define yydefred err_syntax20_defred 63264790Sbapt#endif /* yydefred */ 64264790Sbapt 65264790Sbapt#ifndef yydgoto 66264790Sbapt#define yydgoto err_syntax20_dgoto 67264790Sbapt#endif /* yydgoto */ 68264790Sbapt 69264790Sbapt#ifndef yysindex 70264790Sbapt#define yysindex err_syntax20_sindex 71264790Sbapt#endif /* yysindex */ 72264790Sbapt 73264790Sbapt#ifndef yyrindex 74264790Sbapt#define yyrindex err_syntax20_rindex 75264790Sbapt#endif /* yyrindex */ 76264790Sbapt 77264790Sbapt#ifndef yygindex 78264790Sbapt#define yygindex err_syntax20_gindex 79264790Sbapt#endif /* yygindex */ 80264790Sbapt 81264790Sbapt#ifndef yytable 82264790Sbapt#define yytable err_syntax20_table 83264790Sbapt#endif /* yytable */ 84264790Sbapt 85264790Sbapt#ifndef yycheck 86264790Sbapt#define yycheck err_syntax20_check 87264790Sbapt#endif /* yycheck */ 88264790Sbapt 89264790Sbapt#ifndef yyname 90264790Sbapt#define yyname err_syntax20_name 91264790Sbapt#endif /* yyname */ 92264790Sbapt 93264790Sbapt#ifndef yyrule 94264790Sbapt#define yyrule err_syntax20_rule 95264790Sbapt#endif /* yyrule */ 96264790Sbapt#define YYPREFIX "err_syntax20_" 97264790Sbapt 98264790Sbapt#define YYPURE 0 99264790Sbapt 100264790Sbapt#line 2 "err_syntax20.y" 101264790Sbaptint yylex(void); 102264790Sbaptstatic void yyerror(const char *); 103264790Sbapt#line 104 "err_syntax20.tab.c" 104264790Sbapt 105264790Sbapt/* compatibility with bison */ 106264790Sbapt#ifdef YYPARSE_PARAM 107264790Sbapt/* compatibility with FreeBSD */ 108264790Sbapt# ifdef YYPARSE_PARAM_TYPE 109264790Sbapt# define YYPARSE_DECL() yyparse(YYPARSE_PARAM_TYPE YYPARSE_PARAM) 110264790Sbapt# else 111264790Sbapt# define YYPARSE_DECL() yyparse(void *YYPARSE_PARAM) 112264790Sbapt# endif 113264790Sbapt#else 114264790Sbapt# define YYPARSE_DECL() yyparse(void) 115264790Sbapt#endif 116264790Sbapt 117264790Sbapt/* Parameters sent to lex. */ 118264790Sbapt#ifdef YYLEX_PARAM 119264790Sbapt# define YYLEX_DECL() yylex(void *YYLEX_PARAM) 120264790Sbapt# define YYLEX yylex(YYLEX_PARAM) 121264790Sbapt#else 122264790Sbapt# define YYLEX_DECL() yylex(void) 123264790Sbapt# define YYLEX yylex() 124264790Sbapt#endif 125264790Sbapt 126264790Sbapt/* Parameters sent to yyerror. */ 127264790Sbapt#ifndef YYERROR_DECL 128264790Sbapt#define YYERROR_DECL() yyerror(const char *s) 129264790Sbapt#endif 130264790Sbapt#ifndef YYERROR_CALL 131264790Sbapt#define YYERROR_CALL(msg) yyerror(msg) 132264790Sbapt#endif 133264790Sbapt 134264790Sbaptextern int YYPARSE_DECL(); 135264790Sbapt 136264790Sbapt#define recur 257 137264790Sbapt#define YYERRCODE 256 138264790Sbapttypedef short YYINT; 139264790Sbaptstatic const YYINT err_syntax20_lhs[] = { -1, 140264790Sbapt 0, 141264790Sbapt}; 142264790Sbaptstatic const YYINT err_syntax20_len[] = { 2, 143264790Sbapt 3, 144264790Sbapt}; 145264790Sbaptstatic const YYINT err_syntax20_defred[] = { 0, 146264790Sbapt 0, 0, 0, 1, 147264790Sbapt}; 148264790Sbaptstatic const YYINT err_syntax20_dgoto[] = { 2, 149264790Sbapt}; 150264790Sbaptstatic const YYINT err_syntax20_sindex[] = { -40, 151264790Sbapt -256, 0, -39, 0, 152264790Sbapt}; 153264790Sbaptstatic const YYINT err_syntax20_rindex[] = { 0, 154264790Sbapt 0, 0, 0, 0, 155264790Sbapt}; 156264790Sbaptstatic const YYINT err_syntax20_gindex[] = { 0, 157264790Sbapt}; 158264790Sbapt#define YYTABLESIZE 2 159264790Sbaptstatic const YYINT err_syntax20_table[] = { 1, 160264790Sbapt 3, 4, 161264790Sbapt}; 162264790Sbaptstatic const YYINT err_syntax20_check[] = { 40, 163264790Sbapt 257, 41, 164264790Sbapt}; 165264790Sbapt#define YYFINAL 2 166264790Sbapt#ifndef YYDEBUG 167264790Sbapt#define YYDEBUG 0 168264790Sbapt#endif 169264790Sbapt#define YYMAXTOKEN 257 170264790Sbapt#define YYUNDFTOKEN 260 171264790Sbapt#define YYTRANSLATE(a) ((a) > YYMAXTOKEN ? YYUNDFTOKEN : (a)) 172264790Sbapt#if YYDEBUG 173264790Sbaptstatic const char *const err_syntax20_name[] = { 174264790Sbapt 175264790Sbapt"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, 176264790Sbapt0,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, 177264790Sbapt0,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, 178264790Sbapt0,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, 179264790Sbapt0,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, 180264790Sbapt0,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, 181264790Sbapt0,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,"recur",0,0, 182264790Sbapt"illegal-symbol", 183264790Sbapt}; 184264790Sbaptstatic const char *const err_syntax20_rule[] = { 185264790Sbapt"$accept : expr", 186264790Sbapt"expr : '(' recur ')'", 187264790Sbapt 188264790Sbapt}; 189264790Sbapt#endif 190264790Sbapt 191264790Sbaptint yydebug; 192264790Sbaptint yynerrs; 193264790Sbapt 194264790Sbaptint yyerrflag; 195264790Sbaptint yychar; 196264790SbaptYYSTYPE yyval; 197264790SbaptYYSTYPE yylval; 198264790Sbapt 199264790Sbapt/* define the initial stack-sizes */ 200264790Sbapt#ifdef YYSTACKSIZE 201264790Sbapt#undef YYMAXDEPTH 202264790Sbapt#define YYMAXDEPTH YYSTACKSIZE 203264790Sbapt#else 204264790Sbapt#ifdef YYMAXDEPTH 205264790Sbapt#define YYSTACKSIZE YYMAXDEPTH 206264790Sbapt#else 207264790Sbapt#define YYSTACKSIZE 10000 208264790Sbapt#define YYMAXDEPTH 10000 209264790Sbapt#endif 210264790Sbapt#endif 211264790Sbapt 212264790Sbapt#define YYINITSTACKSIZE 200 213264790Sbapt 214264790Sbapttypedef struct { 215264790Sbapt unsigned stacksize; 216264790Sbapt YYINT *s_base; 217264790Sbapt YYINT *s_mark; 218264790Sbapt YYINT *s_last; 219264790Sbapt YYSTYPE *l_base; 220264790Sbapt YYSTYPE *l_mark; 221264790Sbapt} YYSTACKDATA; 222264790Sbapt/* variables for the parser stack */ 223264790Sbaptstatic YYSTACKDATA yystack; 224264790Sbapt#line 16 "err_syntax20.y" 225264790Sbapt 226264790Sbapt#include <stdio.h> 227264790Sbapt 228264790Sbaptint 229264790Sbaptmain(void) 230264790Sbapt{ 231264790Sbapt printf("yyparse() = %d\n", yyparse()); 232264790Sbapt return 0; 233264790Sbapt} 234264790Sbapt 235264790Sbaptint 236264790Sbaptyylex(void) 237264790Sbapt{ 238264790Sbapt return -1; 239264790Sbapt} 240264790Sbapt 241264790Sbaptstatic void 242264790Sbaptyyerror(const char* s) 243264790Sbapt{ 244264790Sbapt printf("%s\n", s); 245264790Sbapt} 246264790Sbapt#line 247 "err_syntax20.tab.c" 247264790Sbapt 248264790Sbapt#if YYDEBUG 249264790Sbapt#include <stdio.h> /* needed for printf */ 250264790Sbapt#endif 251264790Sbapt 252264790Sbapt#include <stdlib.h> /* needed for malloc, etc */ 253264790Sbapt#include <string.h> /* needed for memset */ 254264790Sbapt 255264790Sbapt/* allocate initial stack or double stack size, up to YYMAXDEPTH */ 256264790Sbaptstatic int yygrowstack(YYSTACKDATA *data) 257264790Sbapt{ 258264790Sbapt int i; 259264790Sbapt unsigned newsize; 260264790Sbapt YYINT *newss; 261264790Sbapt YYSTYPE *newvs; 262264790Sbapt 263264790Sbapt if ((newsize = data->stacksize) == 0) 264264790Sbapt newsize = YYINITSTACKSIZE; 265264790Sbapt else if (newsize >= YYMAXDEPTH) 266264790Sbapt return YYENOMEM; 267264790Sbapt else if ((newsize *= 2) > YYMAXDEPTH) 268264790Sbapt newsize = YYMAXDEPTH; 269264790Sbapt 270264790Sbapt i = (int) (data->s_mark - data->s_base); 271264790Sbapt newss = (YYINT *)realloc(data->s_base, newsize * sizeof(*newss)); 272264790Sbapt if (newss == 0) 273264790Sbapt return YYENOMEM; 274264790Sbapt 275264790Sbapt data->s_base = newss; 276264790Sbapt data->s_mark = newss + i; 277264790Sbapt 278264790Sbapt newvs = (YYSTYPE *)realloc(data->l_base, newsize * sizeof(*newvs)); 279264790Sbapt if (newvs == 0) 280264790Sbapt return YYENOMEM; 281264790Sbapt 282264790Sbapt data->l_base = newvs; 283264790Sbapt data->l_mark = newvs + i; 284264790Sbapt 285264790Sbapt data->stacksize = newsize; 286264790Sbapt data->s_last = data->s_base + newsize - 1; 287264790Sbapt return 0; 288264790Sbapt} 289264790Sbapt 290264790Sbapt#if YYPURE || defined(YY_NO_LEAKS) 291264790Sbaptstatic void yyfreestack(YYSTACKDATA *data) 292264790Sbapt{ 293264790Sbapt free(data->s_base); 294264790Sbapt free(data->l_base); 295264790Sbapt memset(data, 0, sizeof(*data)); 296264790Sbapt} 297264790Sbapt#else 298264790Sbapt#define yyfreestack(data) /* nothing */ 299264790Sbapt#endif 300264790Sbapt 301264790Sbapt#define YYABORT goto yyabort 302264790Sbapt#define YYREJECT goto yyabort 303264790Sbapt#define YYACCEPT goto yyaccept 304264790Sbapt#define YYERROR goto yyerrlab 305264790Sbapt 306264790Sbaptint 307264790SbaptYYPARSE_DECL() 308264790Sbapt{ 309264790Sbapt int yym, yyn, yystate; 310264790Sbapt#if YYDEBUG 311264790Sbapt const char *yys; 312264790Sbapt 313264790Sbapt if ((yys = getenv("YYDEBUG")) != 0) 314264790Sbapt { 315264790Sbapt yyn = *yys; 316264790Sbapt if (yyn >= '0' && yyn <= '9') 317264790Sbapt yydebug = yyn - '0'; 318264790Sbapt } 319264790Sbapt#endif 320264790Sbapt 321264790Sbapt yynerrs = 0; 322264790Sbapt yyerrflag = 0; 323264790Sbapt yychar = YYEMPTY; 324264790Sbapt yystate = 0; 325264790Sbapt 326264790Sbapt#if YYPURE 327264790Sbapt memset(&yystack, 0, sizeof(yystack)); 328264790Sbapt#endif 329264790Sbapt 330264790Sbapt if (yystack.s_base == NULL && yygrowstack(&yystack) == YYENOMEM) goto yyoverflow; 331264790Sbapt yystack.s_mark = yystack.s_base; 332264790Sbapt yystack.l_mark = yystack.l_base; 333264790Sbapt yystate = 0; 334264790Sbapt *yystack.s_mark = 0; 335264790Sbapt 336264790Sbaptyyloop: 337264790Sbapt if ((yyn = yydefred[yystate]) != 0) goto yyreduce; 338264790Sbapt if (yychar < 0) 339264790Sbapt { 340264790Sbapt if ((yychar = YYLEX) < 0) yychar = YYEOF; 341264790Sbapt#if YYDEBUG 342264790Sbapt if (yydebug) 343264790Sbapt { 344264790Sbapt yys = yyname[YYTRANSLATE(yychar)]; 345264790Sbapt printf("%sdebug: state %d, reading %d (%s)\n", 346264790Sbapt YYPREFIX, yystate, yychar, yys); 347264790Sbapt } 348264790Sbapt#endif 349264790Sbapt } 350264790Sbapt if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 && 351264790Sbapt yyn <= YYTABLESIZE && yycheck[yyn] == yychar) 352264790Sbapt { 353264790Sbapt#if YYDEBUG 354264790Sbapt if (yydebug) 355264790Sbapt printf("%sdebug: state %d, shifting to state %d\n", 356264790Sbapt YYPREFIX, yystate, yytable[yyn]); 357264790Sbapt#endif 358264790Sbapt if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack) == YYENOMEM) 359264790Sbapt { 360264790Sbapt goto yyoverflow; 361264790Sbapt } 362264790Sbapt yystate = yytable[yyn]; 363264790Sbapt *++yystack.s_mark = yytable[yyn]; 364264790Sbapt *++yystack.l_mark = yylval; 365264790Sbapt yychar = YYEMPTY; 366264790Sbapt if (yyerrflag > 0) --yyerrflag; 367264790Sbapt goto yyloop; 368264790Sbapt } 369264790Sbapt if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 && 370264790Sbapt yyn <= YYTABLESIZE && yycheck[yyn] == yychar) 371264790Sbapt { 372264790Sbapt yyn = yytable[yyn]; 373264790Sbapt goto yyreduce; 374264790Sbapt } 375264790Sbapt if (yyerrflag) goto yyinrecovery; 376264790Sbapt 377264790Sbapt YYERROR_CALL("syntax error"); 378264790Sbapt 379264790Sbapt goto yyerrlab; 380264790Sbapt 381264790Sbaptyyerrlab: 382264790Sbapt ++yynerrs; 383264790Sbapt 384264790Sbaptyyinrecovery: 385264790Sbapt if (yyerrflag < 3) 386264790Sbapt { 387264790Sbapt yyerrflag = 3; 388264790Sbapt for (;;) 389264790Sbapt { 390264790Sbapt if ((yyn = yysindex[*yystack.s_mark]) && (yyn += YYERRCODE) >= 0 && 391264790Sbapt yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE) 392264790Sbapt { 393264790Sbapt#if YYDEBUG 394264790Sbapt if (yydebug) 395264790Sbapt printf("%sdebug: state %d, error recovery shifting\ 396264790Sbapt to state %d\n", YYPREFIX, *yystack.s_mark, yytable[yyn]); 397264790Sbapt#endif 398264790Sbapt if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack) == YYENOMEM) 399264790Sbapt { 400264790Sbapt goto yyoverflow; 401264790Sbapt } 402264790Sbapt yystate = yytable[yyn]; 403264790Sbapt *++yystack.s_mark = yytable[yyn]; 404264790Sbapt *++yystack.l_mark = yylval; 405264790Sbapt goto yyloop; 406264790Sbapt } 407264790Sbapt else 408264790Sbapt { 409264790Sbapt#if YYDEBUG 410264790Sbapt if (yydebug) 411264790Sbapt printf("%sdebug: error recovery discarding state %d\n", 412264790Sbapt YYPREFIX, *yystack.s_mark); 413264790Sbapt#endif 414264790Sbapt if (yystack.s_mark <= yystack.s_base) goto yyabort; 415264790Sbapt --yystack.s_mark; 416264790Sbapt --yystack.l_mark; 417264790Sbapt } 418264790Sbapt } 419264790Sbapt } 420264790Sbapt else 421264790Sbapt { 422264790Sbapt if (yychar == YYEOF) goto yyabort; 423264790Sbapt#if YYDEBUG 424264790Sbapt if (yydebug) 425264790Sbapt { 426264790Sbapt yys = yyname[YYTRANSLATE(yychar)]; 427264790Sbapt printf("%sdebug: state %d, error recovery discards token %d (%s)\n", 428264790Sbapt YYPREFIX, yystate, yychar, yys); 429264790Sbapt } 430264790Sbapt#endif 431264790Sbapt yychar = YYEMPTY; 432264790Sbapt goto yyloop; 433264790Sbapt } 434264790Sbapt 435264790Sbaptyyreduce: 436264790Sbapt#if YYDEBUG 437264790Sbapt if (yydebug) 438264790Sbapt printf("%sdebug: state %d, reducing by rule %d (%s)\n", 439264790Sbapt YYPREFIX, yystate, yyn, yyrule[yyn]); 440264790Sbapt#endif 441264790Sbapt yym = yylen[yyn]; 442264790Sbapt if (yym) 443264790Sbapt yyval = yystack.l_mark[1-yym]; 444264790Sbapt else 445264790Sbapt memset(&yyval, 0, sizeof yyval); 446264790Sbapt switch (yyn) 447264790Sbapt { 448264790Sbaptcase 1: 449264790Sbapt#line 12 "err_syntax20.y" 450264790Sbapt { yystack.l_mark[-1].rechk = 3; } 451264790Sbaptbreak; 452264790Sbapt#line 453 "err_syntax20.tab.c" 453264790Sbapt } 454264790Sbapt yystack.s_mark -= yym; 455264790Sbapt yystate = *yystack.s_mark; 456264790Sbapt yystack.l_mark -= yym; 457264790Sbapt yym = yylhs[yyn]; 458264790Sbapt if (yystate == 0 && yym == 0) 459264790Sbapt { 460264790Sbapt#if YYDEBUG 461264790Sbapt if (yydebug) 462264790Sbapt printf("%sdebug: after reduction, shifting from state 0 to\ 463264790Sbapt state %d\n", YYPREFIX, YYFINAL); 464264790Sbapt#endif 465264790Sbapt yystate = YYFINAL; 466264790Sbapt *++yystack.s_mark = YYFINAL; 467264790Sbapt *++yystack.l_mark = yyval; 468264790Sbapt if (yychar < 0) 469264790Sbapt { 470264790Sbapt if ((yychar = YYLEX) < 0) yychar = YYEOF; 471264790Sbapt#if YYDEBUG 472264790Sbapt if (yydebug) 473264790Sbapt { 474264790Sbapt yys = yyname[YYTRANSLATE(yychar)]; 475264790Sbapt printf("%sdebug: state %d, reading %d (%s)\n", 476264790Sbapt YYPREFIX, YYFINAL, yychar, yys); 477264790Sbapt } 478264790Sbapt#endif 479264790Sbapt } 480264790Sbapt if (yychar == YYEOF) goto yyaccept; 481264790Sbapt goto yyloop; 482264790Sbapt } 483264790Sbapt if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 && 484264790Sbapt yyn <= YYTABLESIZE && yycheck[yyn] == yystate) 485264790Sbapt yystate = yytable[yyn]; 486264790Sbapt else 487264790Sbapt yystate = yydgoto[yym]; 488264790Sbapt#if YYDEBUG 489264790Sbapt if (yydebug) 490264790Sbapt printf("%sdebug: after reduction, shifting from state %d \ 491264790Sbaptto state %d\n", YYPREFIX, *yystack.s_mark, yystate); 492264790Sbapt#endif 493264790Sbapt if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack) == YYENOMEM) 494264790Sbapt { 495264790Sbapt goto yyoverflow; 496264790Sbapt } 497264790Sbapt *++yystack.s_mark = (YYINT) yystate; 498264790Sbapt *++yystack.l_mark = yyval; 499264790Sbapt goto yyloop; 500264790Sbapt 501264790Sbaptyyoverflow: 502264790Sbapt YYERROR_CALL("yacc stack overflow"); 503264790Sbapt 504264790Sbaptyyabort: 505264790Sbapt yyfreestack(&yystack); 506264790Sbapt return (1); 507264790Sbapt 508264790Sbaptyyaccept: 509264790Sbapt yyfreestack(&yystack); 510264790Sbapt return (0); 511264790Sbapt} 512