44#ifndef YY_PARSER6_DHCP6_PARSER_H_INCLUDED
45# define YY_PARSER6_DHCP6_PARSER_H_INCLUDED
47#line 17 "dhcp6_parser.yy"
52#include <boost/lexical_cast.hpp>
59#line 60 "dhcp6_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&
88# include "location.hh"
92# define YYASSERT assert
97# if (defined __GNUC__ \
98 && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \
99 || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
100# define YY_ATTRIBUTE(Spec) __attribute__(Spec)
102# define YY_ATTRIBUTE(Spec)
106#ifndef YY_ATTRIBUTE_PURE
107# define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))
110#ifndef YY_ATTRIBUTE_UNUSED
111# define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
115#if ! defined lint || defined __GNUC__
116# define YYUSE(E) ((void) (E))
121#if defined __GNUC__ && ! defined __ICC && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
123# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
124 _Pragma ("GCC diagnostic push") \
125 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
126 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
127# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
128 _Pragma ("GCC diagnostic pop")
130# define YY_INITIAL_VALUE(Value) Value
132#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
133# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
134# define YY_IGNORE_MAYBE_UNINITIALIZED_END
136#ifndef YY_INITIAL_VALUE
137# define YY_INITIAL_VALUE(Value)
141# if defined __cplusplus
142# if 201103L <= __cplusplus
143# define YY_NULLPTR nullptr
148# define YY_NULLPTR ((void*)0)
156# define PARSER6_DEBUG 1
158# define PARSER6_DEBUG 0
161# define PARSER6_DEBUG 1
165#line 14 "dhcp6_parser.yy"
166namespace isc {
namespace dhcp {
167#line 168 "dhcp6_parser.h"
170 template <
typename T,
typename S = std::vector<T> >
189 return seq_[
size () - 1 - i];
207 return seq_[
size () - 1 - i];
225 seq_.push_back (T ());
251 return seq_.rbegin ();
268 template <
typename T,
typename S = stack<T> >
280 return stack_[range_ - i];
304 , yytypeid_ (YY_NULLPTR)
308 template <
typename T>
310 : yytypeid_ (&typeid (T))
313 new (yyas_<T> ()) T (
YY_MOVE (t));
323 template <
typename T>
329 yytypeid_ = &
typeid (T);
330 return *
new (yyas_<T> ()) T ();
333# if 201103L <= YY_CPLUSPLUS
335 template <
typename T,
typename U>
341 yytypeid_ = &
typeid (T);
342 return *
new (yyas_<T> ()) T (std::forward <U>(u));
346 template <
typename T>
352 yytypeid_ = &
typeid (T);
353 return *
new (yyas_<T> ()) T (t);
359 template <
typename T>
363 return emplace<T> ();
368 template <
typename T>
372 return emplace<T> (t);
376 template <
typename T>
381 YYASSERT (*yytypeid_ ==
typeid (T));
387 template <
typename T>
392 YYASSERT (*yytypeid_ ==
typeid (T));
405 template <
typename T>
410 YYASSERT (*yytypeid_ == *other.yytypeid_);
411 std::swap (as<T> (), other.
as<T> ());
417 template <
typename T>
421# if 201103L <= YY_CPLUSPLUS
422 emplace<T> (std::move (other.
as<T> ()));
430# if 201103L <= YY_CPLUSPLUS
432 template <
typename T>
436 emplace<T> (std::move (other.as<T> ()));
442 template <
typename T>
446 emplace<T> (other.
as<T> ());
450 template <
typename T>
455 yytypeid_ = YY_NULLPTR;
464 template <
typename T>
468 void *yyp = yybuffer_.yyraw;
469 return static_cast<T*
> (yyp);
473 template <
typename T>
477 const void *yyp = yybuffer_.yyraw;
478 return static_cast<const T*
> (yyp);
490 const std::type_info *yytypeid_;
737 template <
typename Base>
751# if 201103L <= YY_CPLUSPLUS
756# if 201103L <= YY_CPLUSPLUS
761# if 201103L <= YY_CPLUSPLUS
766# if 201103L <= YY_CPLUSPLUS
771# if 201103L <= YY_CPLUSPLUS
776# if 201103L <= YY_CPLUSPLUS
802#if YY_CPLUSPLUS < 201103L
855 virtual int parse ();
861 void set_debug_stream (std::ostream &);
864 typedef
int debug_level_type;
868 void set_debug_level (debug_level_type l);
1576 typedef int state_type;
1581 virtual std::string yysyntax_error_ (state_type yystate,
1587 state_type yy_lr_goto_state_ (state_type yystate,
int yysym);
1591 static bool yy_pact_value_is_default_ (
int yyvalue);
1595 static bool yy_table_value_is_error_ (
int yyvalue);
1597 static const short yypact_ninf_;
1598 static const signed char yytable_ninf_;
1606 static const short yypact_[];
1611 static const unsigned short yydefact_[];
1614 static const short yypgoto_[];
1617 static const short yydefgoto_[];
1622 static const unsigned short yytable_[];
1624 static const short yycheck_[];
1628 static const unsigned short yystos_[];
1631 static const unsigned short yyr1_[];
1634 static const unsigned char yyr2_[];
1638 static std::string yytnamerr_ (
const char *n);
1642 static const char*
const yytname_[];
1645 static const unsigned short yyrline_[];
1647 virtual void yy_reduce_print_ (
int r);
1649 virtual void yystack_print_ ();
1654 std::ostream* yycdebug_;
1659 template <
typename Base>
1667 template <
typename Base>
1678 typedef state_type kind_type;
1681 by_state (kind_type s);
1684 by_state (
const by_state& other);
1690 void move (by_state& that);
1697 enum { empty_state = -1 };
1705 struct stack_symbol_type : basic_symbol<by_state>
1708 typedef basic_symbol<by_state> super_type;
1710 stack_symbol_type ();
1712 stack_symbol_type (
YY_RVREF (stack_symbol_type) that);
1715#if YY_CPLUSPLUS < 201103L
1718 stack_symbol_type& operator= (stack_symbol_type& that);
1726 stack_type yystack_;
1733 void yypush_ (
const char* m,
YY_MOVE_REF (stack_symbol_type) sym);
1744 void yypop_ (
int n = 1);
1766 Dhcp6Parser::yytranslate_ (token_type t)
1772 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1773 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1774 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1775 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1776 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1777 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1778 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1779 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1780 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1781 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1782 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1783 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1784 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1785 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1786 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1787 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1788 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1789 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1790 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1791 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1792 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1793 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1794 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1795 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1796 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1797 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
1798 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
1799 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
1800 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
1801 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
1802 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
1803 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1804 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
1805 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
1806 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
1807 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
1808 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1809 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
1810 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
1811 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
1812 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
1813 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
1814 165, 166, 167, 168, 169, 170, 171, 172, 173
1816 const unsigned user_token_number_max_ = 428;
1819 if (
static_cast<int> (t) <= yyeof_)
1821 else if (
static_cast<unsigned> (t) <= user_token_number_max_)
1822 return translate_table[t];
1824 return undef_token_;
1829 : std::runtime_error (m)
1834 template <
typename Base>
1840 template <
typename Base>
1844 , location (
YY_MOVE (other.location))
1846 switch (other.type_get ())
1882# if 201103L <= YY_CPLUSPLUS
1883 template <
typename Base>
1886 , location (std::move (l))
1889 template <
typename Base>
1895# if 201103L <= YY_CPLUSPLUS
1896 template <
typename Base>
1899 , value (std::move (v))
1900 , location (std::move (l))
1903 template <
typename Base>
1910# if 201103L <= YY_CPLUSPLUS
1911 template <
typename Base>
1914 , value (std::move (v))
1915 , location (std::move (l))
1918 template <
typename Base>
1925# if 201103L <= YY_CPLUSPLUS
1926 template <
typename Base>
1929 , value (std::move (v))
1930 , location (std::move (l))
1933 template <
typename Base>
1940# if 201103L <= YY_CPLUSPLUS
1941 template <
typename Base>
1944 , value (std::move (v))
1945 , location (std::move (l))
1948 template <
typename Base>
1955# if 201103L <= YY_CPLUSPLUS
1956 template <
typename Base>
1959 , value (std::move (v))
1960 , location (std::move (l))
1963 template <
typename Base>
1972 template <
typename Base>
1978 template <
typename Base>
2002 value.template destroy< ElementPtr > ();
2006 value.template destroy< bool > ();
2010 value.template destroy< double > ();
2014 value.template destroy< int64_t > ();
2018 value.template destroy< std::string > ();
2028 template <
typename Base>
2035 template <
typename Base>
2039 super_type::move (s);
2040 switch (this->type_get ())
2088 : type (yytranslate_ (t))
2120 const unsigned short
2123 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
2124 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
2125 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
2126 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
2127 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
2128 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
2129 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
2130 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
2131 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
2132 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
2133 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
2134 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
2135 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
2136 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
2137 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
2138 405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
2139 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
2142 return static_cast<token_type> (yytoken_number_[type]);
3351#line 14 "dhcp6_parser.yy"
3353#line 3354 "dhcp6_parser.h"
#define YY_MOVE_REF(Type)
#define YY_ATTRIBUTE_PURE
static symbol_type make_LEASE_CHECKS(YY_COPY(location_type) l)
static symbol_type make_CONTACT_POINTS(YY_COPY(location_type) l)
static symbol_type make_OVERRIDE_NO_UPDATE(YY_COPY(location_type) l)
static symbol_type make_SUB_DHCP_DDNS(YY_COPY(location_type) l)
static symbol_type make_OPTION_DATA(YY_COPY(location_type) l)
static symbol_type make_OUT_OF_POOL(YY_COPY(location_type) l)
static symbol_type make_NAME(YY_COPY(location_type) l)
static symbol_type make_UNWARNED_RECLAIM_CYCLES(YY_COPY(location_type) l)
static symbol_type make_ALWAYS(YY_COPY(location_type) l)
static symbol_type make_DUID(YY_COPY(location_type) l)
static symbol_type make_RECONNECT_WAIT_TIME(YY_COPY(location_type) l)
static symbol_type make_REQUEST_TIMEOUT(YY_COPY(location_type) l)
static symbol_type make_MEMFILE(YY_COPY(location_type) l)
token::yytokentype token_type
(External) token type, as returned by yylex.
static symbol_type make_IDENTIFIER(YY_COPY(location_type) l)
static symbol_type make_SERVER_ID(YY_COPY(location_type) l)
static symbol_type make_NULL_TYPE(YY_COPY(location_type) l)
static symbol_type make_INTEGER(YY_COPY(int64_t) v, YY_COPY(location_type) l)
static symbol_type make_RELAY(YY_COPY(location_type) l)
static symbol_type make_SUB_SUBNET6(YY_COPY(location_type) l)
static symbol_type make_CONTROL_AGENT(YY_COPY(location_type) l)
static symbol_type make_ID(YY_COPY(location_type) l)
static symbol_type make_TCP_KEEPALIVE(YY_COPY(location_type) l)
static symbol_type make_SUBNET(YY_COPY(location_type) l)
static symbol_type make_MAX_RECLAIM_TIME(YY_COPY(location_type) l)
variant< sizeof(union_type)> semantic_type
Symbol semantic values.
static symbol_type make_FLUSH(YY_COPY(location_type) l)
static symbol_type make_SEVERITY(YY_COPY(location_type) l)
static symbol_type make_SENDER_PORT(YY_COPY(location_type) l)
static symbol_type make_SUB_OPTION_DATA(YY_COPY(location_type) l)
static symbol_type make_DECLINE_PROBATION_PERIOD(YY_COPY(location_type) l)
static symbol_type make_EXCLUDED_PREFIX_LEN(YY_COPY(location_type) l)
static symbol_type make_GENERATED_PREFIX(YY_COPY(location_type) l)
static symbol_type make_LL(YY_COPY(location_type) l)
static symbol_type make_SUB_RESERVATION(YY_COPY(location_type) l)
static symbol_type make_HOOKS_LIBRARIES(YY_COPY(location_type) l)
static symbol_type make_DHCPDDNS(YY_COPY(location_type) l)
static symbol_type make_USER_CONTEXT(YY_COPY(location_type) l)
static symbol_type make_TIME(YY_COPY(location_type) l)
static symbol_type make_ENCAPSULATE(YY_COPY(location_type) l)
static symbol_type make_RELAY_SUPPLIED_OPTIONS(YY_COPY(location_type) l)
static symbol_type make_PREFERRED_LIFETIME(YY_COPY(location_type) l)
static symbol_type make_HOSTS_DATABASE(YY_COPY(location_type) l)
static symbol_type make_DHCP4O6_PORT(YY_COPY(location_type) l)
static symbol_type make_OUTPUT(YY_COPY(location_type) l)
static symbol_type make_SENDER_IP(YY_COPY(location_type) l)
static symbol_type make_REPLACE_CLIENT_NAME(YY_COPY(location_type) l)
static symbol_type make_CODE(YY_COPY(location_type) l)
static symbol_type make_HOLD_RECLAIMED_TIME(YY_COPY(location_type) l)
static symbol_type make_ONLY_IF_REQUIRED(YY_COPY(location_type) l)
static symbol_type make_LCURLY_BRACKET(YY_COPY(location_type) l)
static symbol_type make_TOPLEVEL_JSON(YY_COPY(location_type) l)
static symbol_type make_LEASE_DATABASE(YY_COPY(location_type) l)
static symbol_type make_PREFIXES(YY_COPY(location_type) l)
static symbol_type make_FLEX_ID(YY_COPY(location_type) l)
static symbol_type make_SUB_OPTION_DEF(YY_COPY(location_type) l)
static symbol_type make_EN(YY_COPY(location_type) l)
static symbol_type make_PERSIST(YY_COPY(location_type) l)
static symbol_type make_DEBUGLEVEL(YY_COPY(location_type) l)
static symbol_type make_FLOAT(YY_COPY(double) v, YY_COPY(location_type) l)
static symbol_type make_LSQUARE_BRACKET(YY_COPY(location_type) l)
static symbol_type make_USER(YY_COPY(location_type) l)
static symbol_type make_SUB_INTERFACES6(YY_COPY(location_type) l)
static symbol_type make_SUB_HOOKS_LIBRARY(YY_COPY(location_type) l)
static symbol_type make_SUB_OPTION_DEFS(YY_COPY(location_type) l)
static symbol_type make_POOLS(YY_COPY(location_type) l)
static symbol_type make_RECLAIM_TIMER_WAIT_TIME(YY_COPY(location_type) l)
static symbol_type make_SERVER_IP(YY_COPY(location_type) l)
static symbol_type make_SPACE(YY_COPY(location_type) l)
static symbol_type make_PORT(YY_COPY(location_type) l)
static symbol_type make_RCURLY_BRACKET(YY_COPY(location_type) l)
static symbol_type make_IP_ADDRESSES(YY_COPY(location_type) l)
static symbol_type make_COMMENT(YY_COPY(location_type) l)
static symbol_type make_UDP(YY_COPY(location_type) l)
static symbol_type make_TCP_NODELAY(YY_COPY(location_type) l)
static symbol_type make_PASSWORD(YY_COPY(location_type) l)
static symbol_type make_END(YY_COPY(location_type) l)
static symbol_type make_CONNECT_TIMEOUT(YY_COPY(location_type) l)
static symbol_type make_SHARED_NETWORKS(YY_COPY(location_type) l)
static symbol_type make_RESERVATIONS(YY_COPY(location_type) l)
static symbol_type make_ALL(YY_COPY(location_type) l)
static symbol_type make_STRING(YY_COPY(std::string) v, YY_COPY(location_type) l)
static symbol_type make_REQUIRE_CLIENT_CLASSES(YY_COPY(location_type) l)
static symbol_type make_OVERRIDE_CLIENT_UPDATE(YY_COPY(location_type) l)
location location_type
Symbol locations.
static symbol_type make_CQL(YY_COPY(location_type) l)
static symbol_type make_EXPIRED_LEASES_PROCESSING(YY_COPY(location_type) l)
static symbol_type make_WHEN_NOT_PRESENT(YY_COPY(location_type) l)
static symbol_type make_POSTGRESQL(YY_COPY(location_type) l)
static symbol_type make_HOSTNAME_CHAR_SET(YY_COPY(location_type) l)
int symbol_number_type
Symbol type: an internal symbol number.
static symbol_type make_RAPID_COMMIT(YY_COPY(location_type) l)
static symbol_type make_RENEW_TIMER(YY_COPY(location_type) l)
static symbol_type make_HOST(YY_COPY(location_type) l)
static symbol_type make_SOCKET_TYPE(YY_COPY(location_type) l)
static symbol_type make_DISABLED(YY_COPY(location_type) l)
static symbol_type make_SANITY_CHECKS(YY_COPY(location_type) l)
static symbol_type make_PREFIX_LEN(YY_COPY(location_type) l)
static symbol_type make_LOGGING(YY_COPY(location_type) l)
static symbol_type make_LIBRARY(YY_COPY(location_type) l)
static symbol_type make_CONFIG_CONTROL(YY_COPY(location_type) l)
static symbol_type make_ARRAY(YY_COPY(location_type) l)
static symbol_type make_PARAMETERS(YY_COPY(location_type) l)
static symbol_type make_CONTROL_SOCKET(YY_COPY(location_type) l)
static symbol_type make_OPTION_DEF(YY_COPY(location_type) l)
static symbol_type make_HOST_RESERVATION_IDENTIFIERS(YY_COPY(location_type) l)
static symbol_type make_MAX_RECLAIM_LEASES(YY_COPY(location_type) l)
static symbol_type make_DATA(YY_COPY(location_type) l)
static symbol_type make_SUB_LOGGING(YY_COPY(location_type) l)
static symbol_type make_POOL(YY_COPY(location_type) l)
static symbol_type make_SERVER_TAG(YY_COPY(location_type) l)
static symbol_type make_DHCP6(YY_COPY(location_type) l)
static symbol_type make_NCR_FORMAT(YY_COPY(location_type) l)
virtual int parse()
Parse.
static symbol_type make_JSON(YY_COPY(location_type) l)
static symbol_type make_INTERFACE(YY_COPY(location_type) l)
static symbol_type make_NCR_PROTOCOL(YY_COPY(location_type) l)
static symbol_type make_LLT(YY_COPY(location_type) l)
static symbol_type make_SERVER_PORT(YY_COPY(location_type) l)
static symbol_type make_MAXSIZE(YY_COPY(location_type) l)
static symbol_type make_MYSQL(YY_COPY(location_type) l)
static symbol_type make_MAX_RECONNECT_TRIES(YY_COPY(location_type) l)
static symbol_type make_ENABLE_UPDATES(YY_COPY(location_type) l)
static symbol_type make_INTERFACE_ID(YY_COPY(location_type) l)
static symbol_type make_QUALIFYING_SUFFIX(YY_COPY(location_type) l)
static symbol_type make_GLOBAL(YY_COPY(location_type) l)
unsigned char token_number_type
Internal symbol number for tokens (subsumed by symbol_number_type).
static symbol_type make_LOGGERS(YY_COPY(location_type) l)
static symbol_type make_SOCKET_NAME(YY_COPY(location_type) l)
static symbol_type make_TOPLEVEL_DHCP6(YY_COPY(location_type) l)
static symbol_type make_KEYSPACE(YY_COPY(location_type) l)
static symbol_type make_REBIND_TIMER(YY_COPY(location_type) l)
static symbol_type make_CLIENT_CLASS(YY_COPY(location_type) l)
static symbol_type make_BOOLEAN(YY_COPY(bool) v, YY_COPY(location_type) l)
static symbol_type make_COMMA(YY_COPY(location_type) l)
static symbol_type make_HOSTS_DATABASES(YY_COPY(location_type) l)
static symbol_type make_INTERFACES(YY_COPY(location_type) l)
static symbol_type make_DELEGATED_LEN(YY_COPY(location_type) l)
static symbol_type make_RECORD_TYPES(YY_COPY(location_type) l)
static symbol_type make_SUBNET6(YY_COPY(location_type) l)
static symbol_type make_FLUSH_RECLAIMED_TIMER_WAIT_TIME(YY_COPY(location_type) l)
static symbol_type make_SUB_POOL6(YY_COPY(location_type) l)
static symbol_type make_PD_POOLS(YY_COPY(location_type) l)
static symbol_type make_COLON(YY_COPY(location_type) l)
static symbol_type make_LFC_INTERVAL(YY_COPY(location_type) l)
static symbol_type make_HW_ADDRESS(YY_COPY(location_type) l)
static symbol_type make_DHCP4(YY_COPY(location_type) l)
virtual void error(const location_type &loc, const std::string &msg)
Report a syntax error.
static symbol_type make_TYPE(YY_COPY(location_type) l)
static symbol_type make_CONFIG_DATABASES(YY_COPY(location_type) l)
static symbol_type make_WHEN_PRESENT(YY_COPY(location_type) l)
static symbol_type make_RSQUARE_BRACKET(YY_COPY(location_type) l)
static symbol_type make_ALWAYS_SEND(YY_COPY(location_type) l)
static symbol_type make_SUB_CONFIG_CONTROL(YY_COPY(location_type) l)
static symbol_type make_INTERFACES_CONFIG(YY_COPY(location_type) l)
static symbol_type make_IP_ADDRESS(YY_COPY(location_type) l)
static symbol_type make_HTYPE(YY_COPY(location_type) l)
static symbol_type make_DHCP_QUEUE_CONTROL(YY_COPY(location_type) l)
static symbol_type make_MAXVER(YY_COPY(location_type) l)
static symbol_type make_TEST(YY_COPY(location_type) l)
basic_symbol< by_type > symbol_type
"External" symbols: returned by the scanner.
static symbol_type make_NEVER(YY_COPY(location_type) l)
static symbol_type make_MAC_SOURCES(YY_COPY(location_type) l)
static symbol_type make_CLIENT_CLASSES(YY_COPY(location_type) l)
static symbol_type make_HOSTNAME(YY_COPY(location_type) l)
static symbol_type make_RE_DETECT(YY_COPY(location_type) l)
static symbol_type make_VALID_LIFETIME(YY_COPY(location_type) l)
static symbol_type make_EXCLUDED_PREFIX(YY_COPY(location_type) l)
static symbol_type make_SUB_PD_POOL(YY_COPY(location_type) l)
static symbol_type make_PREFIX(YY_COPY(location_type) l)
static symbol_type make_TCP(YY_COPY(location_type) l)
static symbol_type make_ENTERPRISE_ID(YY_COPY(location_type) l)
static symbol_type make_CSV_FORMAT(YY_COPY(location_type) l)
static symbol_type make_DHCP_DDNS(YY_COPY(location_type) l)
static symbol_type make_RESERVATION_MODE(YY_COPY(location_type) l)
static symbol_type make_MAX_QUEUE_SIZE(YY_COPY(location_type) l)
static symbol_type make_READONLY(YY_COPY(location_type) l)
static symbol_type make_SUB_DHCP6(YY_COPY(location_type) l)
static symbol_type make_OUTPUT_OPTIONS(YY_COPY(location_type) l)
static symbol_type make_HOSTNAME_CHAR_REPLACEMENT(YY_COPY(location_type) l)
Evaluation context, an interface to the expression evaluation.
Present a slice of the top of a stack.
const T & operator[](int i) const
slice(const S &stack, int range)
A stack with random access from its top.
S::reverse_iterator iterator
const_iterator begin() const
T & operator[](size_type i)
Random access.
S::const_reverse_iterator const_iterator
const_iterator end() const
void push(YY_MOVE_REF(T) t)
Steal the contents of t.
Forward declaration of the ParserContext class.
boost::shared_ptr< Element > ElementPtr
Defines the logger used by the top-level component of kea-dhcp-ddns.
location_type location
The location.
void move(basic_symbol &s)
Destructive move, s is emptied into this.
bool empty() const
Whether empty.
basic_symbol()
Default constructor.
~basic_symbol()
Destroy the symbol.
void clear()
Destroy contents, and record that is empty.
semantic_type value
The semantic value.
Base super_type
Alias to Base.
Type access provider for token (enum) based symbols.
by_type()
Default constructor.
token_type token() const
The token.
void clear()
Record that this symbol is empty.
void move(by_type &that)
Steal the symbol type from that.
symbol_number_type type_get() const
The (internal) type number (corresponding to type).
token_type kind_type
The symbol type as needed by the constructor.
Syntax errors thrown from user actions.
syntax_error(const location_type &l, const std::string &m)
@ TOKEN_OVERRIDE_NO_UPDATE
@ TOKEN_REPLACE_CLIENT_NAME
@ TOKEN_EXPIRED_LEASES_PROCESSING
@ TOKEN_REQUIRE_CLIENT_CLASSES
@ TOKEN_DHCP_QUEUE_CONTROL
@ TOKEN_MAX_RECLAIM_LEASES
@ TOKEN_PREFERRED_LIFETIME
@ TOKEN_QUALIFYING_SUFFIX
@ TOKEN_MAX_RECONNECT_TRIES
@ TOKEN_HOSTNAME_CHAR_SET
@ TOKEN_SUB_HOOKS_LIBRARY
@ TOKEN_HOSTNAME_CHAR_REPLACEMENT
@ TOKEN_RECLAIM_TIMER_WAIT_TIME
@ TOKEN_HOLD_RECLAIMED_TIME
@ TOKEN_RECONNECT_WAIT_TIME
@ TOKEN_HOST_RESERVATION_IDENTIFIERS
@ TOKEN_RELAY_SUPPLIED_OPTIONS
@ TOKEN_DECLINE_PROBATION_PERIOD
@ TOKEN_INTERFACES_CONFIG
@ TOKEN_EXCLUDED_PREFIX_LEN
@ TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME
@ TOKEN_UNWARNED_RECLAIM_CYCLES
@ TOKEN_SUB_CONFIG_CONTROL
@ TOKEN_OVERRIDE_CLIENT_UPDATE
A char[S] buffer to store and retrieve objects.
variant(YY_RVREF(T) t)
Construct and fill.
T & emplace()
Instantiate an empty T in here.
long double yyalign_me
Strongest alignment constraints.
variant()
Empty construction.
variant< S > self_type
Type of *this.
const T & as() const
Const accessor to a built T (for printer).
void destroy()
Destroy the stored T.
char yyraw[S]
A buffer large enough to store any of the semantic values.
~variant()
Destruction, allowed only if empty.
T & as()
Accessor to a built T.
T & emplace(const T &t)
Instantiate a T in here from t.
void copy(const self_type &other)
Copy the content of other to this.
void swap(self_type &other)
Swap the content with other, of same type.
void move(self_type &other)
Move the content of other to this.
T & build()
Instantiate an empty T in here.
T & build(const T &t)
Instantiate a T in here from t.
An auxiliary type to compute the largest semantic type.
char dummy5[sizeof(std::string)]
char dummy2[sizeof(bool)]
char dummy3[sizeof(double)]
char dummy1[sizeof(ElementPtr)]
char dummy4[sizeof(int64_t)]