45#ifndef YY_AGENT_AGENT_PARSER_H_INCLUDED
46# define YY_AGENT_AGENT_PARSER_H_INCLUDED
48#line 17 "agent_parser.yy"
52#include <boost/lexical_cast.hpp>
59#line 60 "agent_parser.h"
68#if defined __cplusplus
69# define YY_CPLUSPLUS __cplusplus
71# define YY_CPLUSPLUS 199711L
75#if 201103L <= YY_CPLUSPLUS
76# define YY_MOVE std::move
77# define YY_MOVE_OR_COPY move
78# define YY_MOVE_REF(Type) Type&&
79# define YY_RVREF(Type) Type&&
80# define YY_COPY(Type) Type
83# define YY_MOVE_OR_COPY copy
84# define YY_MOVE_REF(Type) Type&
85# define YY_RVREF(Type) const Type&
86# define YY_COPY(Type) const Type&
90#if 201103L <= YY_CPLUSPLUS
91# define YY_NOEXCEPT noexcept
95# define YY_NOTHROW throw ()
99#if 201703 <= YY_CPLUSPLUS
100# define YY_CONSTEXPR constexpr
104# include "location.hh"
108# define AGENT__ASSERT assert
112#ifndef YY_ATTRIBUTE_PURE
113# if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__)
114# define YY_ATTRIBUTE_PURE __attribute__ ((__pure__))
116# define YY_ATTRIBUTE_PURE
120#ifndef YY_ATTRIBUTE_UNUSED
121# if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__)
122# define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
124# define YY_ATTRIBUTE_UNUSED
129#if ! defined lint || defined __GNUC__
130# define YY_USE(E) ((void) (E))
136#if defined __GNUC__ && ! defined __ICC && 406 <= __GNUC__ * 100 + __GNUC_MINOR__
137# if __GNUC__ * 100 + __GNUC_MINOR__ < 407
138# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
139 _Pragma ("GCC diagnostic push") \
140 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")
142# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
143 _Pragma ("GCC diagnostic push") \
144 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") \
145 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
147# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
148 _Pragma ("GCC diagnostic pop")
150# define YY_INITIAL_VALUE(Value) Value
152#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
153# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
154# define YY_IGNORE_MAYBE_UNINITIALIZED_END
156#ifndef YY_INITIAL_VALUE
157# define YY_INITIAL_VALUE(Value)
160#if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__
161# define YY_IGNORE_USELESS_CAST_BEGIN \
162 _Pragma ("GCC diagnostic push") \
163 _Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"")
164# define YY_IGNORE_USELESS_CAST_END \
165 _Pragma ("GCC diagnostic pop")
167#ifndef YY_IGNORE_USELESS_CAST_BEGIN
168# define YY_IGNORE_USELESS_CAST_BEGIN
169# define YY_IGNORE_USELESS_CAST_END
174# define YY_CAST(Type, Val) static_cast<Type> (Val)
175# define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val)
177# define YY_CAST(Type, Val) ((Type) (Val))
178# define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val))
182# if defined __cplusplus
183# if 201103L <= __cplusplus
184# define YY_NULLPTR nullptr
189# define YY_NULLPTR ((void*)0)
197# define AGENT_DEBUG 1
199# define AGENT_DEBUG 0
202# define AGENT_DEBUG 1
206#line 14 "agent_parser.yy"
207namespace isc {
namespace agent {
208#line 209 "agent_parser.h"
219# pragma GCC message "bison: do not #define AGENT_STYPE in C++, use %define api.value.type"
237 , yytypeid_ (YY_NULLPTR)
241 template <
typename T>
243 : yytypeid_ (&typeid (T))
246 new (yyas_<T> ()) T (
YY_MOVE (t));
249#if 201103L <= YY_CPLUSPLUS
262# if 201103L <= YY_CPLUSPLUS
264 template <
typename T,
typename... U>
270 yytypeid_ = &
typeid (T);
271 return *
new (yyas_<T> ()) T (std::forward <U>(u)...);
275 template <
typename T>
281 yytypeid_ = &
typeid (T);
282 return *
new (yyas_<T> ()) T ();
286 template <
typename T>
292 yytypeid_ = &
typeid (T);
293 return *
new (yyas_<T> ()) T (t);
299 template <
typename T>
303 return emplace<T> ();
308 template <
typename T>
312 return emplace<T> (t);
316 template <
typename T>
327 template <
typename T>
345 template <
typename T>
351 std::swap (as<T> (), that.as<T> ());
357 template <
typename T>
361# if 201103L <= YY_CPLUSPLUS
362 emplace<T> (std::move (that.
as<T> ()));
370# if 201103L <= YY_CPLUSPLUS
372 template <
typename T>
376 emplace<T> (std::move (that.as<T> ()));
382 template <
typename T>
386 emplace<T> (that.
as<T> ());
390 template <
typename T>
395 yytypeid_ = YY_NULLPTR;
399#if YY_CPLUSPLUS < 201103L
407 template <
typename T>
412 return static_cast<T*
> (yyp);
416 template <
typename T>
421 return static_cast<const T*
> (yyp);
434 char dummy2[
sizeof (bool)];
437 char dummy3[
sizeof (double)];
440 char dummy4[
sizeof (int64_t)];
443 char dummy5[
sizeof (std::string)];
447 enum { size =
sizeof (union_type) };
459 const std::type_info *yytypeid_;
473 : std::runtime_error (m)
478 : std::runtime_error (s.what ())
492 TOKEN_AGENT_EMPTY = -2,
494 TOKEN_AGENT_error = 256,
495 TOKEN_AGENT_UNDEF = 257,
498 TOKEN_LSQUARE_BRACKET = 260,
499 TOKEN_RSQUARE_BRACKET = 261,
500 TOKEN_LCURLY_BRACKET = 262,
501 TOKEN_RCURLY_BRACKET = 263,
502 TOKEN_NULL_TYPE = 264,
503 TOKEN_CONTROL_AGENT = 265,
504 TOKEN_HTTP_HOST = 266,
505 TOKEN_HTTP_PORT = 267,
506 TOKEN_USER_CONTEXT = 268,
508 TOKEN_AUTHENTICATION = 270,
514 TOKEN_PASSWORD = 276,
515 TOKEN_TRUST_ANCHOR = 277,
516 TOKEN_CERT_FILE = 278,
517 TOKEN_KEY_FILE = 279,
518 TOKEN_CERT_REQUIRED = 280,
519 TOKEN_CONTROL_SOCKETS = 281,
520 TOKEN_DHCP4_SERVER = 282,
521 TOKEN_DHCP6_SERVER = 283,
522 TOKEN_D2_SERVER = 284,
523 TOKEN_SOCKET_NAME = 285,
524 TOKEN_SOCKET_TYPE = 286,
526 TOKEN_HOOKS_LIBRARIES = 288,
528 TOKEN_PARAMETERS = 290,
531 TOKEN_OUTPUT_OPTIONS = 293,
533 TOKEN_DEBUGLEVEL = 295,
534 TOKEN_SEVERITY = 296,
539 TOKEN_START_JSON = 301,
540 TOKEN_START_AGENT = 302,
541 TOKEN_START_SUB_AGENT = 303,
569 S_LSQUARE_BRACKET = 5,
570 S_RSQUARE_BRACKET = 6,
571 S_LCURLY_BRACKET = 7,
572 S_RCURLY_BRACKET = 8,
574 S_CONTROL_AGENT = 10,
579 S_AUTHENTICATION = 15,
589 S_CERT_REQUIRED = 25,
590 S_CONTROL_SOCKETS = 26,
597 S_HOOKS_LIBRARIES = 33,
602 S_OUTPUT_OPTIONS = 38,
612 S_START_SUB_AGENT = 48,
630 S_not_empty_map = 66,
634 S_not_empty_list = 70,
635 S_unknown_map_entry = 71,
636 S_agent_syntax_map = 72,
638 S_global_object = 74,
640 S_global_params = 76,
651 S_cert_required = 87,
656 S_hooks_libraries = 92,
658 S_hooks_libraries_list = 94,
659 S_not_empty_hooks_libraries_list = 95,
660 S_hooks_library = 96,
668 S_control_sockets = 104,
670 S_control_sockets_params = 106,
671 S_control_socket = 107,
672 S_dhcp4_server_socket = 108,
674 S_dhcp6_server_socket = 110,
676 S_d2_server_socket = 112,
678 S_control_socket_params = 114,
679 S_control_socket_param = 115,
684 S_socket_type_value = 120,
685 S_authentication = 121,
691 S_auth_type_value = 127,
696 S_clients_list = 132,
697 S_not_empty_clients_list = 133,
700 S_clients_params = 136,
701 S_clients_param = 137,
708 S_loggers_entries = 144,
709 S_logger_entry = 145,
711 S_logger_params = 147,
712 S_logger_param = 148,
718 S_output_options_list = 154,
720 S_output_options_list_content = 156,
721 S_output_entry = 157,
723 S_output_params_list = 159,
724 S_output_params = 160,
747 template <
typename Base>
759#if 201103L <= YY_CPLUSPLUS
762 : Base (std::move (that))
766 switch (this->kind ())
772 value.move<
ElementPtr > (std::move (that.value));
776 value.move<
bool > (std::move (that.value));
780 value.move<
double > (std::move (that.value));
784 value.move< int64_t > (std::move (that.value));
788 value.move< std::string > (std::move (that.value));
802#if 201103L <= YY_CPLUSPLUS
814#if 201103L <= YY_CPLUSPLUS
817 , value (std::move (v))
828#if 201103L <= YY_CPLUSPLUS
831 , value (std::move (v))
842#if 201103L <= YY_CPLUSPLUS
845 , value (std::move (v))
856#if 201103L <= YY_CPLUSPLUS
859 , value (std::move (v))
870#if 201103L <= YY_CPLUSPLUS
873 , value (std::move (v))
912 value.template destroy< ElementPtr > ();
916 value.template destroy< bool > ();
920 value.template destroy< double > ();
924 value.template destroy< int64_t > ();
928 value.template destroy< std::string > ();
960#if YY_CPLUSPLUS < 201103L
975#if 201103L <= YY_CPLUSPLUS
1019#if 201103L <= YY_CPLUSPLUS
1027#if !defined _MSC_VER || defined __clang__
1032#if 201103L <= YY_CPLUSPLUS
1040#if !defined _MSC_VER || defined __clang__
1044#if 201103L <= YY_CPLUSPLUS
1052#if !defined _MSC_VER || defined __clang__
1056#if 201103L <= YY_CPLUSPLUS
1064#if !defined _MSC_VER || defined __clang__
1068#if 201103L <= YY_CPLUSPLUS
1076#if !defined _MSC_VER || defined __clang__
1086#if 201103L <= YY_CPLUSPLUS
1099 virtual int parse ();
1128#if 201103L <= YY_CPLUSPLUS
1143#if 201103L <= YY_CPLUSPLUS
1158#if 201103L <= YY_CPLUSPLUS
1173#if 201103L <= YY_CPLUSPLUS
1188#if 201103L <= YY_CPLUSPLUS
1203#if 201103L <= YY_CPLUSPLUS
1218#if 201103L <= YY_CPLUSPLUS
1233#if 201103L <= YY_CPLUSPLUS
1248#if 201103L <= YY_CPLUSPLUS
1263#if 201103L <= YY_CPLUSPLUS
1278#if 201103L <= YY_CPLUSPLUS
1293#if 201103L <= YY_CPLUSPLUS
1308#if 201103L <= YY_CPLUSPLUS
1323#if 201103L <= YY_CPLUSPLUS
1338#if 201103L <= YY_CPLUSPLUS
1353#if 201103L <= YY_CPLUSPLUS
1368#if 201103L <= YY_CPLUSPLUS
1383#if 201103L <= YY_CPLUSPLUS
1398#if 201103L <= YY_CPLUSPLUS
1413#if 201103L <= YY_CPLUSPLUS
1428#if 201103L <= YY_CPLUSPLUS
1443#if 201103L <= YY_CPLUSPLUS
1458#if 201103L <= YY_CPLUSPLUS
1473#if 201103L <= YY_CPLUSPLUS
1488#if 201103L <= YY_CPLUSPLUS
1503#if 201103L <= YY_CPLUSPLUS
1518#if 201103L <= YY_CPLUSPLUS
1533#if 201103L <= YY_CPLUSPLUS
1548#if 201103L <= YY_CPLUSPLUS
1563#if 201103L <= YY_CPLUSPLUS
1578#if 201103L <= YY_CPLUSPLUS
1593#if 201103L <= YY_CPLUSPLUS
1608#if 201103L <= YY_CPLUSPLUS
1623#if 201103L <= YY_CPLUSPLUS
1638#if 201103L <= YY_CPLUSPLUS
1653#if 201103L <= YY_CPLUSPLUS
1668#if 201103L <= YY_CPLUSPLUS
1683#if 201103L <= YY_CPLUSPLUS
1698#if 201103L <= YY_CPLUSPLUS
1713#if 201103L <= YY_CPLUSPLUS
1728#if 201103L <= YY_CPLUSPLUS
1743#if 201103L <= YY_CPLUSPLUS
1758#if 201103L <= YY_CPLUSPLUS
1773#if 201103L <= YY_CPLUSPLUS
1788#if 201103L <= YY_CPLUSPLUS
1803#if 201103L <= YY_CPLUSPLUS
1818#if 201103L <= YY_CPLUSPLUS
1833#if 201103L <= YY_CPLUSPLUS
1848#if 201103L <= YY_CPLUSPLUS
1863#if 201103L <= YY_CPLUSPLUS
1878#if 201103L <= YY_CPLUSPLUS
1893#if 201103L <= YY_CPLUSPLUS
1908#if 201103L <= YY_CPLUSPLUS
1944#if YY_CPLUSPLUS < 201103L
1953 typedef short state_type;
1956 int yy_syntax_error_arguments_ (
const context& yyctx,
1961 virtual std::string yysyntax_error_ (
const context& yyctx)
const;
1965 static state_type yy_lr_goto_state_ (state_type yystate,
int yysym);
1969 static bool yy_pact_value_is_default_ (
int yyvalue)
YY_NOEXCEPT;
1973 static bool yy_table_value_is_error_ (
int yyvalue)
YY_NOEXCEPT;
1975 static const short yypact_ninf_;
1976 static const signed char yytable_ninf_;
1984 static std::string yytnamerr_ (
const char *yystr);
1987 static const char*
const yytname_[];
1993 static const short yypact_[];
1998 static const unsigned char yydefact_[];
2001 static const short yypgoto_[];
2004 static const short yydefgoto_[];
2009 static const short yytable_[];
2011 static const short yycheck_[];
2015 static const unsigned char yystos_[];
2018 static const unsigned char yyr1_[];
2021 static const signed char yyr2_[];
2026 static const short yyrline_[];
2028 virtual void yy_reduce_print_ (
int r)
const;
2030 virtual void yy_stack_print_ ()
const;
2035 std::ostream* yycdebug_;
2040 template <
typename Base>
2041 void yy_print_ (std::ostream& yyo,
const basic_symbol<Base>& yysym)
const;
2048 template <
typename Base>
2049 void yy_destroy_ (
const char* yymsg, basic_symbol<Base>& yysym)
const;
2059 typedef state_type kind_type;
2071 void move (by_state& that);
2079 enum { empty_state = 0 };
2087 struct stack_symbol_type : basic_symbol<by_state>
2090 typedef basic_symbol<by_state> super_type;
2092 stack_symbol_type ();
2094 stack_symbol_type (
YY_RVREF (stack_symbol_type) that);
2096 stack_symbol_type (state_type s,
YY_MOVE_REF (symbol_type) sym);
2097#if YY_CPLUSPLUS < 201103L
2100 stack_symbol_type& operator= (stack_symbol_type& that);
2104 stack_symbol_type& operator= (
const stack_symbol_type& that);
2109 template <
typename T,
typename S = std::vector<T> >
2114 typedef typename S::iterator iterator;
2115 typedef typename S::const_iterator const_iterator;
2116 typedef typename S::size_type size_type;
2117 typedef typename std::ptrdiff_t index_type;
2123#if 201103L <= YY_CPLUSPLUS
2125 stack (
const stack&) =
delete;
2127 stack& operator= (
const stack&) =
delete;
2134 operator[] (index_type i)
const
2136 return seq_[size_type (size () - 1 - i)];
2143 operator[] (index_type i)
2145 return seq_[size_type (size () - 1 - i)];
2154 seq_.push_back (T ());
2155 operator[] (0).move (t);
2177 return index_type (seq_.size ());
2184 return seq_.begin ();
2204 operator[] (index_type i)
const
2206 return stack_[range_ - i];
2210 const stack& stack_;
2215#if YY_CPLUSPLUS < 201103L
2217 stack (
const stack&);
2219 stack& operator= (
const stack&);
2227 typedef stack<stack_symbol_type> stack_type;
2230 stack_type yystack_;
2237 void yypush_ (
const char* m,
YY_MOVE_REF (stack_symbol_type) sym);
2245 void yypush_ (
const char* m, state_type s,
YY_MOVE_REF (symbol_type) sym);
2274 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2275 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2276 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2277 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2278 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2279 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2280 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2281 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2282 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2283 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2284 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2285 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2286 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2287 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2288 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2289 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2290 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2291 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2292 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2293 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2294 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2295 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2296 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2297 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2298 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2299 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
2300 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
2301 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
2302 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
2303 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
2304 45, 46, 47, 48, 49, 50, 51, 52
2307 const int code_max = 307;
2311 else if (t <= code_max)
2318 template <
typename Base>
2324 switch (this->kind ())
2358 template <
typename Base>
2362 return this->kind ();
2366 template <
typename Base>
2373 template <
typename Base>
2377 super_type::move (s);
2378 switch (this->kind ())
2416#if 201103L <= YY_CPLUSPLUS
2419 : kind_ (that.kind_)
2427 : kind_ (that.kind_)
2432 : kind_ (yytranslate_ (t))
2464 return this->kind ();
2468#line 14 "agent_parser.yy"
2470#line 2471 "agent_parser.h"
Forward declaration of the ParserContext class.
#define YY_MOVE_REF(Type)
#define YY_ATTRIBUTE_PURE
const symbol_type & lookahead() const YY_NOEXCEPT
symbol_kind_type token() const YY_NOEXCEPT
const location_type & location() const YY_NOEXCEPT
Present a slice of the top of a stack.
slice(const stack &stack, index_type range) YY_NOEXCEPT
A buffer to store and retrieve objects.
T & emplace()
Instantiate an empty T in here.
void destroy()
Destroy the stored T.
void copy(const self_type &that)
Copy the content of that to this.
value_type(YY_RVREF(T) t)
Construct and fill.
const T & as() const YY_NOEXCEPT
Const accessor to a built T (for printer).
void swap(self_type &that) YY_NOEXCEPT
Swap the content with that, of same type.
char yyraw_[size]
A buffer large enough to store any of the semantic values.
T & as() YY_NOEXCEPT
Accessor to a built T.
value_type self_type
Type of *this.
value_type() YY_NOEXCEPT
Empty construction.
void move(self_type &that)
Move the content of that to this.
long double yyalign_me_
Strongest alignment constraints.
T & emplace(const T &t)
Instantiate a T in here from t.
T & build(const T &t)
Instantiate a T in here from t.
~value_type() YY_NOEXCEPT
Destruction, allowed only if empty.
T & build()
Instantiate an empty T in here.
static symbol_type make_D2_SERVER(const location_type &l)
static symbol_type make_SOCKET_TYPE(const location_type &l)
static symbol_type make_HTTP_HOST(const location_type &l)
static symbol_type make_END(const location_type &l)
static symbol_type make_COMMENT(const location_type &l)
static symbol_type make_NULL_TYPE(const location_type &l)
static symbol_type make_AUTHENTICATION(const location_type &l)
void set_debug_level(debug_level_type l)
Set the current debugging level.
value_type semantic_type
Backward compatibility (Bison 3.8).
static symbol_type make_CERT_FILE(const location_type &l)
static symbol_type make_OUTPUT_OPTIONS(const location_type &l)
static symbol_type make_LSQUARE_BRACKET(const location_type &l)
virtual void error(const location_type &loc, const std::string &msg)
Report a syntax error.
static symbol_type make_RSQUARE_BRACKET(const location_type &l)
static symbol_type make_COLON(const location_type &l)
AgentParser(isc::agent::ParserContext &ctx_yyarg)
Build a parser object.
static symbol_type make_BASIC(const location_type &l)
static symbol_type make_PATTERN(const location_type &l)
int debug_level_type
Type for debugging levels.
static std::string symbol_name(symbol_kind_type yysymbol)
The user-facing name of the symbol whose (internal) number is YYSYMBOL.
static symbol_type make_FLOAT(const double &v, const location_type &l)
static symbol_type make_STRING(const std::string &v, const location_type &l)
static symbol_type make_LOGGERS(const location_type &l)
static symbol_type make_SOCKET_NAME(const location_type &l)
location location_type
Symbol locations.
static symbol_type make_CONTROL_AGENT(const location_type &l)
static symbol_type make_AGENT_error(const location_type &l)
static symbol_type make_RCURLY_BRACKET(const location_type &l)
virtual int parse()
Parse.
static symbol_type make_DEBUGLEVEL(const location_type &l)
static symbol_type make_START_AGENT(const location_type &l)
static symbol_type make_LCURLY_BRACKET(const location_type &l)
static symbol_type make_FLUSH(const location_type &l)
static symbol_type make_CERT_REQUIRED(const location_type &l)
void set_debug_stream(std::ostream &)
Set the current debugging stream.
static symbol_type make_MAXVER(const location_type &l)
static symbol_type make_PASSWORD(const location_type &l)
static symbol_type make_START_JSON(const location_type &l)
static symbol_type make_CONTROL_SOCKETS(const location_type &l)
static symbol_type make_NAME(const location_type &l)
static symbol_type make_COMMA(const location_type &l)
static symbol_type make_HOOKS_LIBRARIES(const location_type &l)
token::token_kind_type token_kind_type
Token kind, as returned by yylex.
symbol_kind::symbol_kind_type symbol_kind_type
(Internal) symbol kind.
static const symbol_kind_type YYNTOKENS
The number of tokens.
static symbol_type make_OUTPUT(const location_type &l)
static symbol_type make_CLIENTS(const location_type &l)
static symbol_type make_DHCP4_SERVER(const location_type &l)
static symbol_type make_DHCP6_SERVER(const location_type &l)
std::ostream & debug_stream() const YY_ATTRIBUTE_PURE
The current debugging stream.
static symbol_type make_REALM(const location_type &l)
static symbol_type make_TRUST_ANCHOR(const location_type &l)
static symbol_type make_HTTP_PORT(const location_type &l)
static symbol_type make_PARAMETERS(const location_type &l)
static symbol_type make_SEVERITY(const location_type &l)
static symbol_type make_USER(const location_type &l)
static symbol_type make_BOOLEAN(const bool &v, const location_type &l)
static symbol_type make_LIBRARY(const location_type &l)
token_kind_type token_type
Backward compatibility alias (Bison 3.6).
static symbol_type make_KEY_FILE(const location_type &l)
static symbol_type make_AGENT_UNDEF(const location_type &l)
static symbol_type make_START_SUB_AGENT(const location_type &l)
debug_level_type debug_level() const YY_ATTRIBUTE_PURE
The current debugging level.
static symbol_type make_UNIX(const location_type &l)
static symbol_type make_MAXSIZE(const location_type &l)
static symbol_type make_USER_CONTEXT(const location_type &l)
static symbol_type make_TYPE(const location_type &l)
static symbol_type make_INTEGER(const int64_t &v, const location_type &l)
Parser context is a wrapper around flex/bison instances dedicated to Control-agent config file parser...
boost::shared_ptr< Element > ElementPtr
Defines the logger used by the top-level component of kea-lfc.
Base super_type
Alias to Base.
basic_symbol(const basic_symbol &that)
Copy constructor.
basic_symbol(typename Base::kind_type t, const int64_t &v, const location_type &l)
location_type location
The location.
basic_symbol() YY_NOEXCEPT
Default constructor.
void move(basic_symbol &s)
Destructive move, s is emptied into this.
basic_symbol(typename Base::kind_type t, const location_type &l)
Constructors for typed symbols.
basic_symbol(typename Base::kind_type t, const std::string &v, const location_type &l)
void clear() YY_NOEXCEPT
Destroy contents, and record that is empty.
bool empty() const YY_NOEXCEPT
Whether empty.
~basic_symbol()
Destroy the symbol.
value_type value
The semantic value.
symbol_kind_type type_get() const YY_NOEXCEPT
Backward compatibility (Bison 3.6).
basic_symbol(typename Base::kind_type t, const ElementPtr &v, const location_type &l)
basic_symbol(typename Base::kind_type t, const double &v, const location_type &l)
std::string name() const YY_NOEXCEPT
The user-facing name of this symbol.
basic_symbol(typename Base::kind_type t, const bool &v, const location_type &l)
Type access provider for token (enum) based symbols.
by_kind() YY_NOEXCEPT
Default constructor.
symbol_kind_type kind() const YY_NOEXCEPT
The (internal) type number (corresponding to type).
token_kind_type kind_type
The symbol kind as needed by the constructor.
symbol_kind_type kind_
The symbol kind.
symbol_kind_type type_get() const YY_NOEXCEPT
Backward compatibility (Bison 3.6).
void clear() YY_NOEXCEPT
Record that this symbol is empty.
void move(by_kind &that)
Steal the symbol kind from that.
@ YYNTOKENS
Number of tokens.
"External" symbols: returned by the scanner.
symbol_type() YY_NOEXCEPT
Empty symbol.
basic_symbol< by_kind > super_type
Superclass.
Syntax errors thrown from user actions.
~syntax_error() YY_NOEXCEPT YY_NOTHROW
syntax_error(const syntax_error &s)
syntax_error(const location_type &l, const std::string &m)
token_kind_type yytokentype
Backward compatibility alias (Bison 3.6).