X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/bd9d212b13d6ba9678bd55048bd8f5b55fa37e72..b1a8161341d471456977275881c29c01136fb0f8:/data/glr.c diff --git a/data/glr.c b/data/glr.c index 9ac721ba..0cd87cf2 100644 --- a/data/glr.c +++ b/data/glr.c @@ -1,7 +1,8 @@ -m4_divert(-1) -*- C -*- + -*- C -*- # GLR skeleton for Bison -# Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, +# Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -21,6 +22,9 @@ m4_divert(-1) -*- C -*- m4_include(b4_pkgdatadir/[c.m4]) +b4_push_if([ +b4_complain([[non-deterministic push parsers are not yet supported]])]) + ## ---------------- ## ## Default values. ## ## ---------------- ## @@ -141,8 +145,8 @@ m4_define([b4_rhs_location], # We do want M4 expansion after # for CPP macros. m4_changecom() -m4_divert(0)dnl -@output b4_parser_file_name +m4_divert_push(0)dnl +@output(b4_parser_file_name@) b4_copyright([Skeleton implementation for Bison GLR parsers in C], [2002, 2003, 2004, 2005, 2006]) [ @@ -150,6 +154,7 @@ b4_copyright([Skeleton implementation for Bison GLR parsers in C], ]b4_identification +b4_percent_code_get([[top]])[]dnl m4_if(b4_prefix, [yy], [], [/* Substitute the variable and function names. */ #define yyparse b4_prefix[]parse @@ -169,17 +174,16 @@ dnl # ---------------------- dnl # Declaration that might either go into the header (if --defines) dnl # or open coded in the parser body. m4_define([b4_shared_declarations], -[m4_ifdef([b4_requires], -[[/* Copy the %requires blocks. */ -]b4_user_requires])[]dnl +[b4_percent_code_get([[requires]])[]dnl b4_token_enums(b4_tokens) [#ifndef YYSTYPE ]m4_ifdef([b4_stype], [[typedef union ]b4_union_name[ +{ ]b4_user_stype[ - YYSTYPE; +} YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1]], [m4_if(b4_tag_seen_flag, 0, [[typedef int YYSTYPE; @@ -202,9 +206,7 @@ typedef struct YYLTYPE # define YYLTYPE_IS_TRIVIAL 1 #endif -]m4_ifdef([b4_provides], -[[/* Copy the %provides blocks. */ -]b4_user_provides])[]dnl +]b4_percent_code_get([[provides]])[]dnl ]) b4_defines_if([[#include "@basename(]b4_spec_defines_file[@)"]], @@ -236,9 +238,10 @@ b4_defines_if([[#include "@basename(]b4_spec_defines_file[@)"]], static YYSTYPE yyval_default; /* Copy the second part of user declarations. */ -]b4_user_post_prologue[ +]b4_user_post_prologue +b4_percent_code_get[]dnl -#include +[#include #include #include @@ -1439,12 +1442,12 @@ yy_reduce_print (yyGLRStack* yystackp, size_t yyk, yyRuleNum yyrule, /* The symbols being reduced. */ for (yyi = 0; yyi < yynrhs; yyi++) { - fprintf (stderr, " $%d = ", yyi + 1); + YYFPRINTF (stderr, " $%d = ", yyi + 1); yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi], &]b4_rhs_value(yynrhs, yyi + 1)[ ]b4_locations_if([, &]b4_rhs_location(yynrhs, yyi + 1))[]dnl b4_user_args[); - fprintf (stderr, "\n"); + YYFPRINTF (stderr, "\n"); } } #endif @@ -2629,15 +2632,17 @@ dnl glr.cc produces its own header. dnl m4_if(b4_skeleton, ["glr.c"], [b4_defines_if( -[@output b4_spec_defines_file +[@output(b4_spec_defines_file@) b4_copyright([Skeleton interface for Bison GLR parsers in C], [2002, 2003, 2004, 2005, 2006]) b4_shared_declarations -extern YYSTYPE b4_prefix[]lval; +b4_pure_if([], +[[extern YYSTYPE b4_prefix][lval;]]) b4_locations_if([b4_pure_if([], [extern YYLTYPE b4_prefix[]lloc;]) ]) ])]) +m4_divert_pop(0)