mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-15 23:33:03 +00:00
For push mode, add pull wrappers around yypush_parse.
* data/push.c: (b4_generate_macro_args, b4_parenthesize): New macros. (yypull_parse): New function wrapping yypush_parse. (yyparse): New #define wrapping yypull_parse. * tests/calc.at (_AT_DATA_CALC_Y): Call yyparse even when %push-parser is declared. * tests/headers.at (export YYLTYPE): Make yylex global. For push mode, prototype yylex in the module that calls yyparse, and don't prototype yyparse there. Otherwise, the yyparse expansion won't compile. * tests/input.at (Torturing the Scanner): Likewise.
This commit is contained in:
@@ -470,7 +470,7 @@ char quote[] = "@:>@@:>@,";
|
||||
|
||||
%{
|
||||
static void yyerror (const char *s);
|
||||
static int yylex (void);
|
||||
int yylex (void);
|
||||
%}
|
||||
|
||||
%type <ival> '@<:@'
|
||||
@@ -503,7 +503,7 @@ value_as_yystype (value val)
|
||||
return res;
|
||||
}
|
||||
|
||||
static int
|
||||
int
|
||||
yylex (void)
|
||||
{
|
||||
static char const input[] = "@<:@\1\2$@{@oline@__@&t@oline__\
|
||||
@@ -529,7 +529,11 @@ AT_DATA([main.c],
|
||||
[[typedef int value;
|
||||
#include "input.h"
|
||||
|
||||
#ifndef YYPUSH_DECLS
|
||||
int yyparse (void);
|
||||
#else
|
||||
int yylex (void);
|
||||
#endif
|
||||
|
||||
int
|
||||
main (void)
|
||||
|
||||
Reference in New Issue
Block a user