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_before_definitions],
-[[/* Copy the %before-definitions blocks. */
-]b4_before_definitions])[]dnl
+[m4_ifdef([b4_start_header],
+[[/* Copy the %start-header blocks. */
+]b4_start_header])[]dnl
b4_token_enums(b4_tokens)
[#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
]m4_ifdef([b4_stype],
[typedef union b4_union_name
-b4_stype
-/* Line __line__ of glr.c. */
-b4_syncline([@oline@], [@ofile@])
+b4_user_stype
YYSTYPE;],
[typedef int YYSTYPE;])[
# define YYSTYPE_IS_DECLARED 1
# define YYLTYPE_IS_TRIVIAL 1
#endif
-]m4_ifdef([b4_after_definitions],
-[[/* Copy the %after-definitions blocks. */
-]b4_after_definitions])[]dnl
+]m4_ifdef([b4_end_header],
+[[/* Copy the %end-header blocks. */
+]b4_end_header])[]dnl
])
b4_defines_if([#include @output_header_name@],
static YYSTYPE yyval_default;
/* Copy the second part of user declarations. */
-]b4_post_prologue[
+]b4_user_post_prologue[
-]/* Line __line__ of glr.c. */
-b4_syncline([@oline@], [@ofile@])
-[
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
]])[
switch (yyn)
{
- ]b4_actions
-/* Line __line__ of glr.c. */
-b4_syncline([@oline@], [@ofile@])[
+ ]b4_user_actions[
default: break;
}
yylval = yyval_default;
]b4_locations_if([
#if YYLTYPE_IS_TRIVIAL
- yylloc.first_line = yylloc.last_line = 1;
- yylloc.first_column = yylloc.last_column = 0;
+ yylloc.first_line = yylloc.last_line = ]b4_location_initial_line[;
+ yylloc.first_column = yylloc.last_column = ]b4_location_initial_column[;
#endif
])
m4_ifdef([b4_initial_action], [
m4_pushdef([b4_at_dollar], [yylloc])dnl
m4_pushdef([b4_dollar_dollar], [yylval])dnl
/* User initialization code. */
- b4_initial_action
+ b4_user_initial_action
m4_popdef([b4_dollar_dollar])dnl
-m4_popdef([b4_at_dollar])dnl
-/* Line __line__ of glr.c. */
-b4_syncline([@oline@], [@ofile@])])dnl
+m4_popdef([b4_at_dollar])])dnl
[
if (! yyinitGLRStack (yystackp, YYINITDEPTH))
goto yyexhaustedlab;