diff -x *.o -x config.* -x *.orig -u bison-1.24/bison.info bison-1.24.LOCAL_MODS/bison.info --- bison-1.24/bison.info Tue May 30 14:22:09 1995 +++ bison-1.24.LOCAL_MODS/bison.info Wed Sep 27 10:06:27 1995 @@ -29,8 +29,8 @@ bison.info-1: 1169 bison.info-2: 49845 bison.info-3: 96257 -bison.info-4: 144384 -bison.info-5: 187731 +bison.info-4: 144474 +bison.info-5: 188014  Tag Table: (Indirect) @@ -97,33 +97,33 @@ Node: Token Values118124 Node: Token Positions119272 Node: Pure Calling120164 -Node: Error Reporting122914 -Node: Action Features125039 -Node: Algorithm128690 -Node: Look-Ahead130983 -Node: Shift/Reduce133115 -Node: Precedence136026 -Node: Why Precedence136677 -Node: Using Precedence138532 -Node: Precedence Examples139500 -Node: How Precedence140201 -Node: Contextual Precedence141350 -Node: Parser States143141 -Node: Reduce/Reduce144384 -Node: Mystery Conflicts147945 -Node: Stack Overflow151331 -Node: Error Recovery152704 -Node: Context Dependency157840 -Node: Semantic Tokens158688 -Node: Lexical Tie-ins161705 -Node: Tie-in Recovery163253 -Node: Debugging165425 -Node: Invocation168776 -Node: Bison Options169439 -Node: Option Cross Key173092 -Node: VMS Invocation173824 -Node: Table of Symbols174608 -Node: Glossary181547 -Node: Index187731 +Node: Error Reporting123004 +Node: Action Features125129 +Node: Algorithm128780 +Node: Look-Ahead131073 +Node: Shift/Reduce133205 +Node: Precedence136116 +Node: Why Precedence136767 +Node: Using Precedence138622 +Node: Precedence Examples139590 +Node: How Precedence140291 +Node: Contextual Precedence141440 +Node: Parser States143231 +Node: Reduce/Reduce144474 +Node: Mystery Conflicts148035 +Node: Stack Overflow151421 +Node: Error Recovery152794 +Node: Context Dependency157930 +Node: Semantic Tokens158778 +Node: Lexical Tie-ins161795 +Node: Tie-in Recovery163343 +Node: Debugging165515 +Node: Invocation168866 +Node: Bison Options169529 +Node: Option Cross Key173182 +Node: VMS Invocation173914 +Node: Table of Symbols174698 +Node: Glossary181830 +Node: Index188014  End Tag Table diff -x *.o -x config.* -x *.orig -u bison-1.24/bison.info-3 bison-1.24.LOCAL_MODS/bison.info-3 --- bison-1.24/bison.info-3 Tue May 30 14:22:08 1995 +++ bison-1.24.LOCAL_MODS/bison.info-3 Wed Sep 27 10:06:27 1995 @@ -731,6 +731,9 @@ object type, or you can declare it as `void *' and access the contents as shown above. + Similarly you may define `YYERROR_PARAM' to pass an additional +argument to `yyerror'. +  File: bison.info, Node: Error Reporting, Next: Action Features, Prev: Lexical, Up: Interface diff -x *.o -x config.* -x *.orig -u bison-1.24/bison.info-4 bison-1.24.LOCAL_MODS/bison.info-4 --- bison-1.24/bison.info-4 Tue May 30 14:22:09 1995 +++ bison-1.24.LOCAL_MODS/bison.info-4 Wed Sep 27 10:06:27 1995 @@ -848,6 +848,11 @@ (*note Error Recovery::.), or (if recovery is impossible) make `yyparse' return 1. *Note Error Recovery::. +`YYERROR_PARAM' + Macro for specifying an extra argument (or list of extra + arguments) for `yyparse' to pass to `yylex'. *Note Calling + Conventions for Pure Parsers: Pure Calling. + `YYERROR_VERBOSE' Macro that you define with `#define' in the Bison declarations section to request verbose, specific error message strings when diff -x *.o -x config.* -x *.orig -u bison-1.24/bison.info-5 bison-1.24.LOCAL_MODS/bison.info-5 --- bison-1.24/bison.info-5 Tue May 30 14:22:09 1995 +++ bison-1.24.LOCAL_MODS/bison.info-5 Wed Sep 27 10:06:27 1995 @@ -207,12 +207,13 @@ * YYBACKUP: Action Features. * yychar: Look-Ahead. * yyclearin: Error Recovery. -* YYDEBUG: Debugging. * yydebug: Debugging. +* YYDEBUG: Debugging. * YYEMPTY: Action Features. * yyerrok: Error Recovery. * YYERROR: Action Features. * yyerror: Error Reporting. +* YYERROR_PARAM: Pure Calling. * YYERROR_VERBOSE: Error Reporting. * YYINITDEPTH: Stack Overflow. * yylex: Lexical. diff -x *.o -x config.* -x *.orig -u bison-1.24/bison.simple bison-1.24.LOCAL_MODS/bison.simple --- bison-1.24/bison.simple Wed May 3 07:55:38 1995 +++ bison-1.24.LOCAL_MODS/bison.simple Wed Sep 27 14:53:06 1995 @@ -61,6 +61,12 @@ It is replaced by the list of actions, each action as one case of the switch. */ +#ifdef YYERROR_PARAM +#define YY_error(__x) yyerror(__x,YYERROR_PARAM) +#else +#define YY_error(__x) yyerror(__x) +#endif + #define yyerrok (yyerrstatus = 0) #define yyclearin (yychar = YYEMPTY) #define YYEMPTY -2 @@ -68,7 +74,7 @@ #define YYACCEPT return(0) #define YYABORT return(1) #define YYERROR goto yyerrlab1 -/* Like YYERROR except do call yyerror. +/* Like YYERROR except do call YY_error. This remains here temporarily to ease the transition to the new meaning of YYERROR, for GCC. Once GCC version 2 has supplanted version 1, this can go. */ @@ -83,7 +89,7 @@ goto yybackup; \ } \ else \ - { yyerror ("syntax error: cannot back up"); YYERROR; } \ + { YY_error ("syntax error: cannot back up"); YYERROR; } \ while (0) #define YYTERROR 1 @@ -147,11 +153,6 @@ #ifndef YYMAXDEPTH #define YYMAXDEPTH 10000 #endif - -/* Prevent warning if -Wstrict-prototypes. */ -#ifdef __GNUC__ -int yyparse (void); -#endif #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */ #define __yy_memcpy(FROM,TO,COUNT) __builtin_memcpy(TO,FROM,COUNT) @@ -192,7 +193,7 @@ #endif #endif -#line 192 "bison.simple" +#line 197 "bison.simple" /* The user can define YYPARSE_PARAM as the name of an argument to be passed into yyparse. The argument should have type void *. @@ -200,6 +201,15 @@ Grammar actions can access the variable by casting it to the proper pointer type. */ +/* Prevent warning if -Wstrict-prototypes. */ +#ifdef __GNUC__ +#ifdef YYPARSE_PARAM +int yyparse (void *YYPARSE_PARAM); +#else +int yyparse(void); +#endif +#endif + #ifdef YYPARSE_PARAM #define YYPARSE_PARAM_DECL void *YYPARSE_PARAM; #else @@ -318,7 +328,7 @@ /* Extend the stack our own way. */ if (yystacksize >= YYMAXDEPTH) { - yyerror("parser stack overflow"); + YY_error("parser stack overflow"); return 2; } yystacksize *= 2; @@ -488,7 +498,7 @@ #endif $ /* the action file gets copied in in place of this dollarsign */ -#line 487 "bison.simple" +#line 502 "bison.simple" yyvsp -= yylen; yyssp -= yylen; @@ -581,15 +591,15 @@ count++; } } - yyerror(msg); + YY_error(msg); free(msg); } else - yyerror ("parse error; also virtual memory exceeded"); + YY_error ("parse error; also virtual memory exceeded"); } else #endif /* YYERROR_VERBOSE */ - yyerror("parse error"); + YY_error("parse error"); } goto yyerrlab1; diff -x *.o -x config.* -x *.orig -u bison-1.24/bison.texinfo bison-1.24.LOCAL_MODS/bison.texinfo --- bison-1.24/bison.texinfo Wed May 3 08:10:33 1995 +++ bison-1.24.LOCAL_MODS/bison.texinfo Wed Sep 27 10:05:30 1995 @@ -3409,6 +3409,10 @@ the proper object type, or you can declare it as @code{void *} and access the contents as shown above. +@vindex YYERROR_PARAM +Similarly you may define @code{YYERROR_PARAM} to pass an additional +argument to @code{yyerror}. + @node Error Reporting, Action Features, Lexical, Interface @section The Error Reporting Function @code{yyerror} @cindex error reporting function @@ -4901,6 +4905,11 @@ @code{yyerror} and then perform normal error recovery if possible (@pxref{Error Recovery}), or (if recovery is impossible) make @code{yyparse} return 1. @xref{Error Recovery}. + +@item YYERROR_PARAM +Macro for specifying an extra argument (or list of extra arguments) for +@code{yyparse} to pass to @code{yylex}. @xref{Pure Calling,, Calling +Conventions for Pure Parsers}. @item YYERROR_VERBOSE Macro that you define with @code{#define} in the Bison declarations