X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/520144aadc34f57ac0572ded66ab62fc32cb3069..c0beb08772ddefc0e8bb705b08cebc71ec92815d:/data/yacc.c diff --git a/data/yacc.c b/data/yacc.c index cb6d8e59..922a4ebe 100644 --- a/data/yacc.c +++ b/data/yacc.c @@ -160,9 +160,9 @@ m4_define([b4_rhs_location], [(yylsp@{b4_subtract([$2], [$1])@})]) -## ------------------ ## -## Parser variables. ## -## ------------------ ## +## -------------- ## +## Declarations. ## +## -------------- ## # b4_declare_scanner_communication_variables # ------------------------------------------ @@ -199,7 +199,7 @@ m4_define([b4_declare_parser_state_variables], [b4_pure_if([[ `yyvs': related to semantic values.]b4_locations_if([[ `yyls': related to locations.]])[ - Refer to the stacks thru separate pointers, to allow yyoverflow + Refer to the stacks through separate pointers, to allow yyoverflow to reallocate them elsewhere. */ /* The state stack. */ @@ -226,10 +226,9 @@ m4_define([b4_declare_parser_state_variables], [b4_pure_if([[ yytype_int16 *yyes; YYSIZE_T yyes_capacity;]])]) - -## --------------------------------------------------------- ## -## Defining symbol actions, e.g., printers and destructors. ## -## --------------------------------------------------------- ## +## -------------- ## +## Output files. ## +## -------------- ## # We do want M4 expansion after # for CPP macros. m4_changecom() @@ -288,37 +287,10 @@ m4_if(b4_prefix, [yy], [], # define YYTOKEN_TABLE ]b4_token_table[ #endif -]b4_percent_code_get([[requires]])[]dnl - -b4_token_enums_defines(b4_tokens)[ - -#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED -]m4_ifdef([b4_stype], -[[typedef union ]b4_union_name[ -{ -]b4_user_stype[ -} YYSTYPE; -# define YYSTYPE_IS_TRIVIAL 1]], -[m4_if(b4_tag_seen_flag, 0, -[[typedef int YYSTYPE; -# define YYSTYPE_IS_TRIVIAL 1]])])[ -# define yystype YYSTYPE /* obsolescent; will be withdrawn */ -# define YYSTYPE_IS_DECLARED 1 -#endif]b4_locations_if([[ - -#if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED -typedef struct YYLTYPE -{ - int first_line; - int first_column; - int last_line; - int last_column; -} YYLTYPE; -# define yyltype YYLTYPE /* obsolescent; will be withdrawn */ -# define YYLTYPE_IS_DECLARED 1 -# define YYLTYPE_IS_TRIVIAL 1 -#endif]])b4_push_if([[ - +]b4_percent_code_get([[requires]])[ +]b4_token_enums_defines(b4_tokens)[ +]b4_declare_yylstype[ +]b4_push_if([[ #ifndef YYPUSH_DECLS # define YYPUSH_DECLS struct yypstate; @@ -2008,40 +1980,10 @@ b4_copyright([Bison interface for Yacc-like parsers in C])dnl b4_percent_code_get([[requires]])[]dnl -b4_token_enums_defines(b4_tokens) - -[#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED -]m4_ifdef([b4_stype], -[[typedef union ]b4_union_name[ -{ -]b4_user_stype[ -} YYSTYPE; -# define YYSTYPE_IS_TRIVIAL 1]], -[m4_if(b4_tag_seen_flag, 0, -[[typedef int YYSTYPE; -# define YYSTYPE_IS_TRIVIAL 1]])])[ -# define yystype YYSTYPE /* obsolescent; will be withdrawn */ -# define YYSTYPE_IS_DECLARED 1 -#endif - -]b4_pure_if([], [[extern YYSTYPE ]b4_prefix[lval;]]) - -b4_locations_if( -[#if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED -typedef struct YYLTYPE -{ - int first_line; - int first_column; - int last_line; - int last_column; -} YYLTYPE; -# define yyltype YYLTYPE /* obsolescent; will be withdrawn */ -# define YYLTYPE_IS_DECLARED 1 -# define YYLTYPE_IS_TRIVIAL 1 -#endif - -]b4_pure_if([], [[extern YYLTYPE ]b4_prefix[lloc;]]) -)dnl b4_locations_if +b4_token_enums_defines(b4_tokens)[ +]b4_declare_yylstype[ +]b4_pure_if([], [[extern YYSTYPE ]b4_prefix[lval; +]b4_locations_if([[extern YYLTYPE ]b4_prefix[lloc;]])])dnl b4_push_if([[ #ifndef YYPUSH_DECLS # define YYPUSH_DECLS