glr.cc, lalr1.cc: define b4_shared_declarations

* data/glr.cc, data/lalr1.cc: here.
The name is no longer right, but at least it is consistent with
the other skeletons.
This commit is contained in:
Akim Demaille
2012-07-30 15:30:31 +02:00
parent 34904c575a
commit d27c5e6534
3 changed files with 44 additions and 24 deletions

4
TODO
View File

@@ -3,6 +3,10 @@
Avoid variables for format strings, as then GCC cannot check them.
show_sub_messages should call show_sub_message.
** m4 names
b4_shared_declarations is no longer what it is. Make it
b4_parser_declaration for instance.
** Variable names.
What should we name `variant' and `lex_symbol'?

View File

@@ -223,16 +223,13 @@ m4_defn([b4_parse_param]))],
m4_include(b4_pkgdatadir/[glr.c])
m4_popdef([b4_parse_param])
m4_divert_push(0)
@output(b4_spec_defines_file@)@
b4_copyright([Skeleton interface for Bison GLR parsers in C++],
[2002-2012])[
/* C++ GLR parser skeleton written by Akim Demaille. */
]b4_cpp_guard_open([b4_spec_defines_file])[
]b4_percent_code_get([[requires]])[
# b4_shared_declarations
# ----------------------
# Declaration that might either go into the header (if --defines)
# or open coded in the parser body.
m4_define([b4_shared_declarations],
[b4_percent_code_get([[requires]])[
#include <stdexcept>
#include <string>
@@ -312,5 +309,16 @@ b4_percent_define_flag_if([[global_tokens_and_yystype]],
]b4_namespace_close[
]b4_percent_code_get([[provides]])[
]])
m4_divert_push(0)
@output(b4_spec_defines_file@)@
b4_copyright([Skeleton interface for Bison GLR parsers in C++],
[2002-2012])[
/* C++ GLR parser skeleton written by Akim Demaille. */
]b4_cpp_guard_open([b4_spec_defines_file])[
]b4_shared_declarations[
]b4_cpp_guard_close([b4_spec_defines_file])[
]m4_divert_pop(0)

View File

@@ -131,21 +131,12 @@ b4_locations_if([b4_percent_define_ifdef([[location_type]], [],
m4_include(b4_pkgdatadir/[stack.hh])
b4_variant_if([m4_include(b4_pkgdatadir/[variant.hh])])
# We do want M4 expansion after # for CPP macros.
m4_changecom()
m4_divert_push(0)dnl
@output(b4_spec_defines_file@)@
b4_copyright([Skeleton interface for Bison LALR(1) parsers in C++])
[
/**
** \file ]b4_spec_defines_file[
** Define the ]b4_namespace_ref[::parser class.
*/
/* C++ LALR(1) parser skeleton written by Akim Demaille. */
]b4_cpp_guard_open([b4_spec_defines_file])[
]b4_percent_code_get([[requires]])[
# b4_shared_declarations
# ----------------------
# Declaration that might either go into the header (if --defines)
# or open coded in the parser body.
m4_define([b4_shared_declarations],
[b4_percent_code_get([[requires]])[
]b4_parse_assert_if([# include <cassert>])[
# include <stdexcept>
# include <string>
@@ -341,6 +332,23 @@ b4_public_types_define])[
#endif
])[
]b4_percent_code_get([[provides]])[
]])
# We do want M4 expansion after # for CPP macros.
m4_changecom()
m4_divert_push(0)dnl
@output(b4_spec_defines_file@)@
b4_copyright([Skeleton interface for Bison LALR(1) parsers in C++])
[
/**
** \file ]b4_spec_defines_file[
** Define the ]b4_namespace_ref[::parser class.
*/
/* C++ LALR(1) parser skeleton written by Akim Demaille. */
]b4_cpp_guard_open([b4_spec_defines_file])[
]b4_shared_declarations[
]b4_cpp_guard_close([b4_spec_defines_file])
@output(b4_parser_file_name@)@
b4_copyright([Skeleton implementation for Bison LALR(1) parsers in C++])