44#ifndef YY_SEAMS_APREPRO_PARSER_H_INCLUDED
45#define YY_SEAMS_APREPRO_PARSER_H_INCLUDED
53#if defined __cplusplus
54#define YY_CPLUSPLUS __cplusplus
56#define YY_CPLUSPLUS 199711L
60#if 201103L <= YY_CPLUSPLUS
61#define YY_MOVE std::move
62#define YY_MOVE_OR_COPY move
63#define YY_MOVE_REF(Type) Type &&
64#define YY_RVREF(Type) Type &&
65#define YY_COPY(Type) Type
68#define YY_MOVE_OR_COPY copy
69#define YY_MOVE_REF(Type) Type &
70#define YY_RVREF(Type) const Type &
71#define YY_COPY(Type) const Type &
75#if 201103L <= YY_CPLUSPLUS
76#define YY_NOEXCEPT noexcept
80#define YY_NOTHROW throw()
84#if 201703 <= YY_CPLUSPLUS
85#define YY_CONSTEXPR constexpr
90#ifndef YY_ATTRIBUTE_PURE
91#if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__)
92#define YY_ATTRIBUTE_PURE __attribute__((__pure__))
94#define YY_ATTRIBUTE_PURE
98#ifndef YY_ATTRIBUTE_UNUSED
99#if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__)
100#define YY_ATTRIBUTE_UNUSED __attribute__((__unused__))
102#define YY_ATTRIBUTE_UNUSED
107#if !defined lint || defined __GNUC__
108#define YY_USE(E) ((void)(E))
114#if defined __GNUC__ && !defined __ICC && 406 <= __GNUC__ * 100 + __GNUC_MINOR__
115#if __GNUC__ * 100 + __GNUC_MINOR__ < 407
116#define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
117 _Pragma("GCC diagnostic push") _Pragma("GCC diagnostic ignored \"-Wuninitialized\"")
119#define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
120 _Pragma("GCC diagnostic push") _Pragma("GCC diagnostic ignored \"-Wuninitialized\"") \
121 _Pragma("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
123#define YY_IGNORE_MAYBE_UNINITIALIZED_END _Pragma("GCC diagnostic pop")
125#define YY_INITIAL_VALUE(Value) Value
127#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
128#define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
129#define YY_IGNORE_MAYBE_UNINITIALIZED_END
131#ifndef YY_INITIAL_VALUE
132#define YY_INITIAL_VALUE(Value)
135#if defined __cplusplus && defined __GNUC__ && !defined __ICC && 6 <= __GNUC__
136#define YY_IGNORE_USELESS_CAST_BEGIN \
137 _Pragma("GCC diagnostic push") _Pragma("GCC diagnostic ignored \"-Wuseless-cast\"")
138#define YY_IGNORE_USELESS_CAST_END _Pragma("GCC diagnostic pop")
140#ifndef YY_IGNORE_USELESS_CAST_BEGIN
141#define YY_IGNORE_USELESS_CAST_BEGIN
142#define YY_IGNORE_USELESS_CAST_END
147#define YY_CAST(Type, Val) static_cast<Type>(Val)
148#define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type>(Val)
150#define YY_CAST(Type, Val) ((Type)(Val))
151#define YY_REINTERPRET_CAST(Type, Val) ((Type)(Val))
155#if defined __cplusplus
156#if 201103L <= __cplusplus
157#define YY_NULLPTR nullptr
162#define YY_NULLPTR ((void *)0)
187#pragma GCC message "bison: do not #define SEAMSSTYPE in C++, use %define api.value.type"
364#if 201103L <= YY_CPLUSPLUS
370 basic_symbol(
const basic_symbol &that);
372 basic_symbol(
typename Base::kind_type t);
375 basic_symbol(
typename Base::kind_type t,
YY_RVREF(value_type) v);
399#if YY_CPLUSPLUS < 201103L
414#if 201103L <= YY_CPLUSPLUS
455#if 201103L <= YY_CPLUSPLUS
474 void set_debug_stream(std::ostream &);
477 typedef
int debug_level_type;
481 void set_debug_level(debug_level_type l);
486 virtual void error(
const std::string &msg);
512#if YY_CPLUSPLUS < 201103L
528 virtual std::string yysyntax_error_(
const context &yyctx)
const;
536 static bool yy_pact_value_is_default_(
int yyvalue)
YY_NOEXCEPT;
540 static bool yy_table_value_is_error_(
int yyvalue)
YY_NOEXCEPT;
551 static std::string yytnamerr_(
const char *yystr);
554 static const char *
const yytname_[];
559 static const short yypact_[];
564 static const unsigned char yydefact_[];
567 static const short yypgoto_[];
570 static const unsigned char yydefgoto_[];
575 static const short yytable_[];
577 static const short yycheck_[];
581 static const signed char yystos_[];
584 static const signed char yyr1_[];
587 static const signed char yyr2_[];
591 static const short yyrline_[];
593 virtual void yy_reduce_print_(
int r)
const;
595 virtual void yy_stack_print_()
const;
600 std::ostream *yycdebug_;
605 template <
typename Base>
613 template <
typename Base>
void yy_destroy_(
const char *yymsg,
basic_symbol<Base> &yysym)
const;
643 enum { empty_state = 0 };
661#if YY_CPLUSPLUS < 201103L
673 template <
typename T,
typename S = std::vector<T>>
class stack
684#if 201103L <= YY_CPLUSPLUS
707 operator[](0).move(t);
743#if YY_CPLUSPLUS < 201103L
#define YY_RVREF(Type)
Definition aprepro_parser.h:70
#define YY_MOVE_REF(Type)
Definition aprepro_parser.h:69
#define YY_NOEXCEPT
Definition aprepro_parser.h:79
#define YY_ATTRIBUTE_PURE
Definition aprepro_parser.h:94
#define YY_NOTHROW
Definition aprepro_parser.h:80
Definition aprepro_parser.h:496
const symbol_type & lookahead() const YY_NOEXCEPT
Definition aprepro_parser.h:499
symbol_kind_type token() const YY_NOEXCEPT
Definition aprepro_parser.h:500
const symbol_type & yyla_
Definition aprepro_parser.h:508
const Parser & yyparser_
Definition aprepro_parser.h:507
Present a slice of the top of a stack.
Definition aprepro_parser.h:731
slice(const stack &stack, index_type range) YY_NOEXCEPT
Definition aprepro_parser.h:733
const T & operator[](index_type i) const
Definition aprepro_parser.h:735
index_type range_
Definition aprepro_parser.h:739
const stack & stack_
Definition aprepro_parser.h:738
A stack with random access from its top.
Definition aprepro_parser.h:674
stack & operator=(const stack &)
Non copyable.
S::const_iterator const_iterator
Definition aprepro_parser.h:678
S::iterator iterator
Definition aprepro_parser.h:677
T & operator[](index_type i)
Definition aprepro_parser.h:699
S::size_type size_type
Definition aprepro_parser.h:679
const_iterator begin() const YY_NOEXCEPT
Iterator on top of the stack (going downwards).
Definition aprepro_parser.h:724
void push(YY_MOVE_REF(T) t)
Definition aprepro_parser.h:704
const_iterator end() const YY_NOEXCEPT
Bottom of the stack.
Definition aprepro_parser.h:727
void pop(std::ptrdiff_t n=1) YY_NOEXCEPT
Pop elements from the stack.
Definition aprepro_parser.h:711
const T & operator[](index_type i) const
Definition aprepro_parser.h:694
stack(size_type n=200) YY_NOEXCEPT
Definition aprepro_parser.h:682
std::ptrdiff_t index_type
Definition aprepro_parser.h:680
stack(const stack &)
Non copyable.
index_type size() const YY_NOEXCEPT
Number of elements on the stack.
Definition aprepro_parser.h:721
void clear() YY_NOEXCEPT
Pop all elements from the stack.
Definition aprepro_parser.h:718
S seq_
The wrapped container.
Definition aprepro_parser.h:750
A Bison parser.
Definition aprepro_parser.h:183
token_kind_type token_type
Backward compatibility alias (Bison 3.6).
Definition aprepro_parser.h:276
Parser & operator=(const Parser &)
Non copyable.
stack_type yystack_
The stack.
Definition aprepro_parser.h:757
static const signed char yytable_ninf_
Definition aprepro_parser.h:543
static const symbol_kind_type YYNTOKENS
The number of tokens.
Definition aprepro_parser.h:348
token::token_kind_type token_kind_type
Token kind, as returned by yylex.
Definition aprepro_parser.h:273
symbol_kind::symbol_kind_type symbol_kind_type
(Internal) symbol kind.
Definition aprepro_parser.h:345
short state_type
Stored state numbers (used for stacks).
Definition aprepro_parser.h:520
class Aprepro & aprepro
Definition aprepro_parser.h:785
static const signed char yypact_ninf_
Definition aprepro_parser.h:542
value_type semantic_type
Backward compatibility (Bison 3.8).
Definition aprepro_parser.h:201
stack< stack_symbol_type > stack_type
Stack type.
Definition aprepro_parser.h:754
Parser(const Parser &)
Non copyable.
Definition apr_aprepro.cc:57
Definition aprepro_parser.h:357
Base super_type
Alias to Base.
Definition aprepro_parser.h:359
~basic_symbol()
Destroy the symbol.
Definition aprepro_parser.h:378
std::string name() const YY_NOEXCEPT
The user-facing name of this symbol.
Definition aprepro_parser.h:384
basic_symbol() YY_NOEXCEPT
Default constructor.
Definition aprepro_parser.h:362
basic_symbol & operator=(const basic_symbol &that)
Assignment operator.
void clear() YY_NOEXCEPT
Destroy contents, and record that is empty.
Definition aprepro_parser.h:381
Type access provider for token (enum) based symbols.
Definition aprepro_parser.h:407
token_kind_type kind_type
The symbol kind as needed by the constructor.
Definition aprepro_parser.h:409
Type access provider for state based symbols.
Definition aprepro_parser.h:618
state_type kind_type
The symbol kind as needed by the constructor.
Definition aprepro_parser.h:623
state_type state
Definition aprepro_parser.h:647
"Internal" symbol: element of the stack.
Definition aprepro_parser.h:652
basic_symbol< by_state > super_type
Superclass.
Definition aprepro_parser.h:654
Symbol kinds.
Definition aprepro_parser.h:280
symbol_kind_type
Definition aprepro_parser.h:281
@ YYNTOKENS
Number of tokens.
Definition aprepro_parser.h:282
"External" symbols: returned by the scanner.
Definition aprepro_parser.h:448
Syntax errors thrown from user actions.
Definition aprepro_parser.h:205
syntax_error(const syntax_error &s)
Definition aprepro_parser.h:208
~syntax_error() YY_NOEXCEPT YY_NOTHROW
Definition apr_parser.cc:176
syntax_error(const std::string &m)
Definition aprepro_parser.h:206
Token kinds.
Definition aprepro_parser.h:215
token_kind_type
Definition aprepro_parser.h:216
token_kind_type yytokentype
Backward compatibility alias (Bison 3.6).
Definition aprepro_parser.h:269
Definition apr_symrec.h:17
Definition apr_symrec.h:26
Symbol semantic values.
Definition aprepro_parser.h:192
double val
Definition aprepro_parser.h:194
struct symrec * tptr
Definition aprepro_parser.h:195
char * string
Definition aprepro_parser.h:196
struct array * arrval
Definition aprepro_parser.h:197