glr2.cc: move strong_index_alias into the unnamed namespace

* data/skeletons/glr2.cc: here.
This commit is contained in:
Akim Demaille
2021-09-12 13:13:13 +02:00
parent b6ac175a1c
commit d432079f8a

View File

@@ -435,16 +435,19 @@ m4_define([b4_shared_declarations],
]b4_header_if([[#include "@basename(]b4_spec_header_file[@)"]], ]b4_header_if([[#include "@basename(]b4_spec_header_file[@)"]],
[b4_shared_declarations([cc])])[ [b4_shared_declarations([cc])])[
namespace
{
/* Default (constant) value used for initialization for null /* Default (constant) value used for initialization for null
right-hand sides. Unlike the standard yacc.c template, here we set right-hand sides. Unlike the standard yacc.c template, here we set
the default value of $$ to a zeroed-out value. Since the default the default value of $$ to a zeroed-out value. Since the default
value is undefined, this behavior is technically correct. */ value is undefined, this behavior is technically correct. */
static ]b4_namespace_ref[::]b4_parser_class[::value_type yyval_default; ]b4_namespace_ref[::]b4_parser_class[::value_type yyval_default;
}
]b4_user_post_prologue[ ]b4_user_post_prologue[
]b4_percent_code_get[]dnl ]b4_percent_code_get[
[#include <cstdio> #include <cstdio>
#include <cstdlib> #include <cstdlib>
#ifndef YY_ #ifndef YY_
@@ -586,7 +589,7 @@ namespace
{ {
]b4_conflicting_rules[ ]b4_conflicting_rules[
}; };
} } // namespace
/* Error token number */ /* Error token number */
@@ -676,6 +679,8 @@ namespace
# define YYSTACKEXPANDABLE 1 # define YYSTACKEXPANDABLE 1
#endif #endif
namespace
{
template <typename Parameter> template <typename Parameter>
class strong_index_alias class strong_index_alias
{ {
@@ -752,7 +757,7 @@ private:
// WARNING: 0-initialized. // WARNING: 0-initialized.
std::ptrdiff_t value_; std::ptrdiff_t value_;
}; }; // class strong_index_alias
template<typename T> template<typename T>
const std::ptrdiff_t strong_index_alias<T>::INVALID_INDEX = const std::ptrdiff_t strong_index_alias<T>::INVALID_INDEX =
@@ -760,13 +765,10 @@ const std::ptrdiff_t strong_index_alias<T>::INVALID_INDEX =
using state_set_index = strong_index_alias<struct glr_state_set_tag>; using state_set_index = strong_index_alias<struct glr_state_set_tag>;
namespace
{
state_set_index create_state_set_index (std::ptrdiff_t value) state_set_index create_state_set_index (std::ptrdiff_t value)
{ {
return state_set_index::create (value); return state_set_index::create (value);
} }
}
/** State numbers, as in LALR(1) machine */ /** State numbers, as in LALR(1) machine */
using state_num = int; using state_num = int;
@@ -774,8 +776,6 @@ using state_num = int;
/** Rule numbers, as in LALR(1) machine */ /** Rule numbers, as in LALR(1) machine */
using rule_num = int; using rule_num = int;
namespace
{
using parser_type = ]b4_namespace_ref[::]b4_parser_class[; using parser_type = ]b4_namespace_ref[::]b4_parser_class[;
using glr_state = parser_type::glr_state; using glr_state = parser_type::glr_state;
using symbol_kind = parser_type::symbol_kind; using symbol_kind = parser_type::symbol_kind;
@@ -786,7 +786,7 @@ namespace
// Forward declarations. // Forward declarations.
class glr_stack_item; class glr_stack_item;
class semantic_option; class semantic_option;
} } // namespace
namespace namespace
{ {