44#ifndef YY_PARSER4_DHCP4_PARSER_H_INCLUDED
45# define YY_PARSER4_DHCP4_PARSER_H_INCLUDED
47#line 17 "dhcp4_parser.yy"
52#include <boost/lexical_cast.hpp>
59#line 60 "dhcp4_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 PARSER4_DEBUG 1
158# define PARSER4_DEBUG 0
161# define PARSER4_DEBUG 1
165#line 14 "dhcp4_parser.yy"
166namespace isc {
namespace dhcp {
167#line 168 "dhcp4_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_;
733 template <
typename Base>
747# if 201103L <= YY_CPLUSPLUS
752# if 201103L <= YY_CPLUSPLUS
757# if 201103L <= YY_CPLUSPLUS
762# if 201103L <= YY_CPLUSPLUS
767# if 201103L <= YY_CPLUSPLUS
772# if 201103L <= YY_CPLUSPLUS
798#if YY_CPLUSPLUS < 201103L
851 virtual int parse ();
857 void set_debug_stream (std::ostream &);
860 typedef
int debug_level_type;
864 void set_debug_level (debug_level_type l);
1552 typedef int state_type;
1557 virtual std::string yysyntax_error_ (state_type yystate,
1563 state_type yy_lr_goto_state_ (state_type yystate,
int yysym);
1567 static bool yy_pact_value_is_default_ (
int yyvalue);
1571 static bool yy_table_value_is_error_ (
int yyvalue);
1573 static const short yypact_ninf_;
1574 static const signed char yytable_ninf_;
1582 static const short yypact_[];
1587 static const unsigned short yydefact_[];
1590 static const short yypgoto_[];
1593 static const short yydefgoto_[];
1598 static const unsigned short yytable_[];
1600 static const short yycheck_[];
1604 static const unsigned short yystos_[];
1607 static const unsigned short yyr1_[];
1610 static const unsigned char yyr2_[];
1614 static std::string yytnamerr_ (
const char *n);
1618 static const char*
const yytname_[];
1621 static const unsigned short yyrline_[];
1623 virtual void yy_reduce_print_ (
int r);
1625 virtual void yystack_print_ ();
1630 std::ostream* yycdebug_;
1635 template <
typename Base>
1643 template <
typename Base>
1654 typedef state_type kind_type;
1657 by_state (kind_type s);
1660 by_state (
const by_state& other);
1666 void move (by_state& that);
1673 enum { empty_state = -1 };
1681 struct stack_symbol_type : basic_symbol<by_state>
1684 typedef basic_symbol<by_state> super_type;
1686 stack_symbol_type ();
1688 stack_symbol_type (
YY_RVREF (stack_symbol_type) that);
1691#if YY_CPLUSPLUS < 201103L
1694 stack_symbol_type& operator= (stack_symbol_type& that);
1702 stack_type yystack_;
1709 void yypush_ (
const char* m,
YY_MOVE_REF (stack_symbol_type) sym);
1720 void yypop_ (
int n = 1);
1742 Dhcp4Parser::yytranslate_ (token_type t)
1748 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1749 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1750 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1751 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1752 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1753 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1754 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1755 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1756 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1757 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1758 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1759 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1760 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1761 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1762 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1763 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1764 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1765 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1766 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1767 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1768 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1769 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1770 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1771 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1772 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1773 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
1774 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
1775 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
1776 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
1777 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
1778 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
1779 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1780 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
1781 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
1782 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
1783 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
1784 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1785 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
1786 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
1787 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
1788 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
1789 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
1792 const unsigned user_token_number_max_ = 423;
1795 if (
static_cast<int> (t) <= yyeof_)
1797 else if (
static_cast<unsigned> (t) <= user_token_number_max_)
1798 return translate_table[t];
1800 return undef_token_;
1805 : std::runtime_error (m)
1810 template <
typename Base>
1816 template <
typename Base>
1820 , location (
YY_MOVE (other.location))
1822 switch (other.type_get ())
1859# if 201103L <= YY_CPLUSPLUS
1860 template <
typename Base>
1863 , location (std::move (l))
1866 template <
typename Base>
1872# if 201103L <= YY_CPLUSPLUS
1873 template <
typename Base>
1876 , value (std::move (v))
1877 , location (std::move (l))
1880 template <
typename Base>
1887# if 201103L <= YY_CPLUSPLUS
1888 template <
typename Base>
1891 , value (std::move (v))
1892 , location (std::move (l))
1895 template <
typename Base>
1902# if 201103L <= YY_CPLUSPLUS
1903 template <
typename Base>
1906 , value (std::move (v))
1907 , location (std::move (l))
1910 template <
typename Base>
1917# if 201103L <= YY_CPLUSPLUS
1918 template <
typename Base>
1921 , value (std::move (v))
1922 , location (std::move (l))
1925 template <
typename Base>
1932# if 201103L <= YY_CPLUSPLUS
1933 template <
typename Base>
1936 , value (std::move (v))
1937 , location (std::move (l))
1940 template <
typename Base>
1949 template <
typename Base>
1955 template <
typename Base>
1980 value.template destroy< ElementPtr > ();
1984 value.template destroy< bool > ();
1988 value.template destroy< double > ();
1992 value.template destroy< int64_t > ();
1996 value.template destroy< std::string > ();
2006 template <
typename Base>
2013 template <
typename Base>
2017 super_type::move (s);
2018 switch (this->type_get ())
2067 : type (yytranslate_ (t))
2099 const unsigned short
2102 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
2103 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
2104 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
2105 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
2106 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
2107 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
2108 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
2109 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
2110 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
2111 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
2112 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
2113 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
2114 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
2115 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
2116 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
2117 405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
2118 415, 416, 417, 418, 419, 420, 421, 422, 423
2120 return static_cast<token_type> (yytoken_number_[type]);
3294#line 14 "dhcp4_parser.yy"
3296#line 3297 "dhcp4_parser.h"
#define YY_MOVE_REF(Type)
#define YY_ATTRIBUTE_PURE
basic_symbol< by_type > symbol_type
"External" symbols: returned by the scanner.
static symbol_type make_SUB_OPTION_DEFS(YY_COPY(location_type) l)
static symbol_type make_MAX_QUEUE_SIZE(YY_COPY(location_type) l)
static symbol_type make_COMMA(YY_COPY(location_type) l)
static symbol_type make_CONFIG_CONTROL(YY_COPY(location_type) l)
static symbol_type make_DATA(YY_COPY(location_type) l)
static symbol_type make_MAX_RECLAIM_LEASES(YY_COPY(location_type) l)
static symbol_type make_ALWAYS(YY_COPY(location_type) l)
unsigned char token_number_type
Internal symbol number for tokens (subsumed by symbol_number_type).
static symbol_type make_END(YY_COPY(location_type) l)
static symbol_type make_RENEW_TIMER(YY_COPY(location_type) l)
static symbol_type make_SERVER_TAG(YY_COPY(location_type) l)
static symbol_type make_RAW(YY_COPY(location_type) l)
static symbol_type make_ALL(YY_COPY(location_type) l)
static symbol_type make_CONTACT_POINTS(YY_COPY(location_type) l)
static symbol_type make_USER_CONTEXT(YY_COPY(location_type) l)
static symbol_type make_INTEGER(YY_COPY(int64_t) v, YY_COPY(location_type) l)
static symbol_type make_FLEX_ID(YY_COPY(location_type) l)
static symbol_type make_ID(YY_COPY(location_type) l)
static symbol_type make_RESERVATIONS(YY_COPY(location_type) l)
static symbol_type make_DISABLED(YY_COPY(location_type) l)
static symbol_type make_LOGGERS(YY_COPY(location_type) l)
static symbol_type make_PORT(YY_COPY(location_type) l)
int symbol_number_type
Symbol type: an internal symbol number.
static symbol_type make_MAXVER(YY_COPY(location_type) l)
static symbol_type make_LFC_INTERVAL(YY_COPY(location_type) l)
static symbol_type make_LCURLY_BRACKET(YY_COPY(location_type) l)
static symbol_type make_DHCP_QUEUE_CONTROL(YY_COPY(location_type) l)
static symbol_type make_GLOBAL(YY_COPY(location_type) l)
static symbol_type make_RCURLY_BRACKET(YY_COPY(location_type) l)
static symbol_type make_SERVER_HOSTNAME(YY_COPY(location_type) l)
static symbol_type make_TOPLEVEL_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_SPACE(YY_COPY(location_type) l)
static symbol_type make_MAXSIZE(YY_COPY(location_type) l)
static symbol_type make_MEMFILE(YY_COPY(location_type) l)
static symbol_type make_HOSTS_DATABASE(YY_COPY(location_type) l)
static symbol_type make_ENCAPSULATE(YY_COPY(location_type) l)
static symbol_type make_NULL_TYPE(YY_COPY(location_type) l)
static symbol_type make_PARAMETERS(YY_COPY(location_type) l)
static symbol_type make_POSTGRESQL(YY_COPY(location_type) l)
virtual int parse()
Parse.
static symbol_type make_USE_ROUTING(YY_COPY(location_type) l)
static symbol_type make_TCP_KEEPALIVE(YY_COPY(location_type) l)
static symbol_type make_SOCKET_TYPE(YY_COPY(location_type) l)
static symbol_type make_HOLD_RECLAIMED_TIME(YY_COPY(location_type) l)
static symbol_type make_ECHO_CLIENT_ID(YY_COPY(location_type) l)
static symbol_type make_RESERVATION_MODE(YY_COPY(location_type) l)
static symbol_type make_OVERRIDE_NO_UPDATE(YY_COPY(location_type) l)
static symbol_type make_PERSIST(YY_COPY(location_type) l)
static symbol_type make_REPLACE_CLIENT_NAME(YY_COPY(location_type) l)
static symbol_type make_BOOT_FILE_NAME(YY_COPY(location_type) l)
static symbol_type make_MYSQL(YY_COPY(location_type) l)
static symbol_type make_CONNECT_TIMEOUT(YY_COPY(location_type) l)
static symbol_type make_USER(YY_COPY(location_type) l)
static symbol_type make_JSON(YY_COPY(location_type) l)
static symbol_type make_CODE(YY_COPY(location_type) l)
static symbol_type make_IP_ADDRESS(YY_COPY(location_type) l)
static symbol_type make_SUB_INTERFACES4(YY_COPY(location_type) l)
static symbol_type make_POOL(YY_COPY(location_type) l)
static symbol_type make_TCP(YY_COPY(location_type) l)
static symbol_type make_SERVER_IP(YY_COPY(location_type) l)
static symbol_type make_OUTBOUND_INTERFACE(YY_COPY(location_type) l)
static symbol_type make_OPTION_DATA(YY_COPY(location_type) l)
static symbol_type make_SUBNET_4O6_INTERFACE(YY_COPY(location_type) l)
static symbol_type make_OPTION_DEF(YY_COPY(location_type) l)
static symbol_type make_CLIENT_CLASSES(YY_COPY(location_type) l)
static symbol_type make_DHCP_DDNS(YY_COPY(location_type) l)
static symbol_type make_SUBNET4(YY_COPY(location_type) l)
static symbol_type make_HOSTS_DATABASES(YY_COPY(location_type) l)
static symbol_type make_HOST_RESERVATION_IDENTIFIERS(YY_COPY(location_type) l)
static symbol_type make_REQUEST_TIMEOUT(YY_COPY(location_type) l)
static symbol_type make_ALWAYS_SEND(YY_COPY(location_type) l)
static symbol_type make_DHCP4(YY_COPY(location_type) l)
static symbol_type make_CLIENT_ID(YY_COPY(location_type) l)
static symbol_type make_EXPIRED_LEASES_PROCESSING(YY_COPY(location_type) l)
static symbol_type make_NAME(YY_COPY(location_type) l)
static symbol_type make_IP_ADDRESSES(YY_COPY(location_type) l)
static symbol_type make_SUB_LOGGING(YY_COPY(location_type) l)
static symbol_type make_SUB_DHCP4(YY_COPY(location_type) l)
static symbol_type make_CLIENT_CLASS(YY_COPY(location_type) l)
static symbol_type make_KEYSPACE(YY_COPY(location_type) l)
static symbol_type make_MAX_RECONNECT_TRIES(YY_COPY(location_type) l)
static symbol_type make_HOSTNAME_CHAR_REPLACEMENT(YY_COPY(location_type) l)
static symbol_type make_DHCP_SOCKET_TYPE(YY_COPY(location_type) l)
static symbol_type make_LIBRARY(YY_COPY(location_type) l)
static symbol_type make_DECLINE_PROBATION_PERIOD(YY_COPY(location_type) l)
static symbol_type make_INTERFACES(YY_COPY(location_type) l)
static symbol_type make_HW_ADDRESS(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_TEST(YY_COPY(location_type) l)
static symbol_type make_OUTPUT(YY_COPY(location_type) l)
static symbol_type make_REQUIRE_CLIENT_CLASSES(YY_COPY(location_type) l)
static symbol_type make_RECONNECT_WAIT_TIME(YY_COPY(location_type) l)
location location_type
Symbol locations.
static symbol_type make_AUTHORITATIVE(YY_COPY(location_type) l)
static symbol_type make_NCR_PROTOCOL(YY_COPY(location_type) l)
static symbol_type make_FLUSH(YY_COPY(location_type) l)
static symbol_type make_INTERFACE(YY_COPY(location_type) l)
static symbol_type make_SUB_DHCP_DDNS(YY_COPY(location_type) l)
static symbol_type make_MATCH_CLIENT_ID(YY_COPY(location_type) l)
static symbol_type make_FLOAT(YY_COPY(double) v, YY_COPY(location_type) l)
static symbol_type make_LOGGING(YY_COPY(location_type) l)
static symbol_type make_OVERRIDE_CLIENT_UPDATE(YY_COPY(location_type) l)
static symbol_type make_SEVERITY(YY_COPY(location_type) l)
static symbol_type make_CQL(YY_COPY(location_type) l)
static symbol_type make_QUALIFYING_SUFFIX(YY_COPY(location_type) l)
static symbol_type make_GENERATED_PREFIX(YY_COPY(location_type) l)
static symbol_type make_RECORD_TYPES(YY_COPY(location_type) l)
static symbol_type make_HOST(YY_COPY(location_type) l)
static symbol_type make_HOSTNAME_CHAR_SET(YY_COPY(location_type) l)
static symbol_type make_RECLAIM_TIMER_WAIT_TIME(YY_COPY(location_type) l)
static symbol_type make_OUT_OF_POOL(YY_COPY(location_type) l)
static symbol_type make_SUB_HOOKS_LIBRARY(YY_COPY(location_type) l)
static symbol_type make_HOSTNAME(YY_COPY(location_type) l)
static symbol_type make_DHCPDDNS(YY_COPY(location_type) l)
static symbol_type make_BOOLEAN(YY_COPY(bool) v, YY_COPY(location_type) l)
static symbol_type make_DUID(YY_COPY(location_type) l)
static symbol_type make_SUBNET(YY_COPY(location_type) l)
static symbol_type make_SOCKET_NAME(YY_COPY(location_type) l)
static symbol_type make_CONFIG_DATABASES(YY_COPY(location_type) l)
static symbol_type make_STRING(YY_COPY(std::string) v, YY_COPY(location_type) l)
static symbol_type make_RELAY(YY_COPY(location_type) l)
static symbol_type make_LEASE_DATABASE(YY_COPY(location_type) l)
static symbol_type make_UDP(YY_COPY(location_type) l)
static symbol_type make_NEVER(YY_COPY(location_type) l)
static symbol_type make_READONLY(YY_COPY(location_type) l)
static symbol_type make_SANITY_CHECKS(YY_COPY(location_type) l)
static symbol_type make_RSQUARE_BRACKET(YY_COPY(location_type) l)
static symbol_type make_LEASE_CHECKS(YY_COPY(location_type) l)
static symbol_type make_CSV_FORMAT(YY_COPY(location_type) l)
static symbol_type make_VALID_LIFETIME(YY_COPY(location_type) l)
static symbol_type make_SHARED_NETWORKS(YY_COPY(location_type) l)
static symbol_type make_NEXT_SERVER(YY_COPY(location_type) l)
static symbol_type make_ARRAY(YY_COPY(location_type) l)
token::yytokentype token_type
(External) token type, as returned by yylex.
static symbol_type make_WHEN_PRESENT(YY_COPY(location_type) l)
static symbol_type make_ENABLE_UPDATES(YY_COPY(location_type) l)
static symbol_type make_DHCP6(YY_COPY(location_type) l)
static symbol_type make_CONTROL_SOCKET(YY_COPY(location_type) l)
static symbol_type make_REBIND_TIMER(YY_COPY(location_type) l)
static symbol_type make_DEBUGLEVEL(YY_COPY(location_type) l)
static symbol_type make_COMMENT(YY_COPY(location_type) l)
static symbol_type make_NCR_FORMAT(YY_COPY(location_type) l)
static symbol_type make_TCP_NODELAY(YY_COPY(location_type) l)
static symbol_type make_FLUSH_RECLAIMED_TIMER_WAIT_TIME(YY_COPY(location_type) l)
static symbol_type make_DHCP4O6_PORT(YY_COPY(location_type) l)
static symbol_type make_LSQUARE_BRACKET(YY_COPY(location_type) l)
static symbol_type make_SAME_AS_INBOUND(YY_COPY(location_type) l)
static symbol_type make_POOLS(YY_COPY(location_type) l)
static symbol_type make_HOOKS_LIBRARIES(YY_COPY(location_type) l)
static symbol_type make_UNWARNED_RECLAIM_CYCLES(YY_COPY(location_type) l)
static symbol_type make_SUB_OPTION_DATA(YY_COPY(location_type) l)
static symbol_type make_MAX_RECLAIM_TIME(YY_COPY(location_type) l)
static symbol_type make_CIRCUIT_ID(YY_COPY(location_type) l)
static symbol_type make_SUB_RESERVATION(YY_COPY(location_type) l)
static symbol_type make_SUB_POOL4(YY_COPY(location_type) l)
static symbol_type make_WHEN_NOT_PRESENT(YY_COPY(location_type) l)
static symbol_type make_TYPE(YY_COPY(location_type) l)
static symbol_type make_COLON(YY_COPY(location_type) l)
static symbol_type make_SENDER_IP(YY_COPY(location_type) l)
static symbol_type make_SUBNET_4O6_SUBNET(YY_COPY(location_type) l)
static symbol_type make_PASSWORD(YY_COPY(location_type) l)
variant< sizeof(union_type)> semantic_type
Symbol semantic values.
static symbol_type make_SENDER_PORT(YY_COPY(location_type) l)
static symbol_type make_ONLY_IF_REQUIRED(YY_COPY(location_type) l)
static symbol_type make_TOPLEVEL_JSON(YY_COPY(location_type) l)
static symbol_type make_SERVER_PORT(YY_COPY(location_type) l)
static symbol_type make_OUTPUT_OPTIONS(YY_COPY(location_type) l)
static symbol_type make_SUBNET_4O6_INTERFACE_ID(YY_COPY(location_type) l)
static symbol_type make_RE_DETECT(YY_COPY(location_type) l)
static symbol_type make_SUB_SUBNET4(YY_COPY(location_type) l)
static symbol_type make_CONTROL_AGENT(YY_COPY(location_type) l)
static symbol_type make_SUB_OPTION_DEF(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.
~basic_symbol()
Destroy the symbol.
location_type location
The location.
Base super_type
Alias to Base.
void clear()
Destroy contents, and record that is empty.
bool empty() const
Whether empty.
void move(basic_symbol &s)
Destructive move, s is emptied into this.
basic_symbol()
Default constructor.
semantic_type value
The semantic value.
Type access provider for token (enum) based symbols.
token_type kind_type
The symbol type as needed by the constructor.
symbol_number_type type_get() const
The (internal) type number (corresponding to type).
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.
by_type()
Default constructor.
Syntax errors thrown from user actions.
syntax_error(const location_type &l, const std::string &m)
@ TOKEN_SUBNET_4O6_INTERFACE_ID
@ TOKEN_SUBNET_4O6_SUBNET
@ TOKEN_HOSTNAME_CHAR_REPLACEMENT
@ TOKEN_MAX_RECONNECT_TRIES
@ TOKEN_DHCP_QUEUE_CONTROL
@ TOKEN_OVERRIDE_NO_UPDATE
@ TOKEN_EXPIRED_LEASES_PROCESSING
@ TOKEN_RECONNECT_WAIT_TIME
@ TOKEN_UNWARNED_RECLAIM_CYCLES
@ TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME
@ TOKEN_INTERFACES_CONFIG
@ TOKEN_DECLINE_PROBATION_PERIOD
@ TOKEN_MAX_RECLAIM_LEASES
@ TOKEN_OVERRIDE_CLIENT_UPDATE
@ TOKEN_SUB_CONFIG_CONTROL
@ TOKEN_OUTBOUND_INTERFACE
@ TOKEN_SUB_HOOKS_LIBRARY
@ TOKEN_RECLAIM_TIMER_WAIT_TIME
@ TOKEN_HOLD_RECLAIMED_TIME
@ TOKEN_HOSTNAME_CHAR_SET
@ TOKEN_REPLACE_CLIENT_NAME
@ TOKEN_REQUIRE_CLIENT_CLASSES
@ TOKEN_QUALIFYING_SUFFIX
@ TOKEN_SUBNET_4O6_INTERFACE
@ TOKEN_HOST_RESERVATION_IDENTIFIERS
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 dummy2[sizeof(bool)]
char dummy4[sizeof(int64_t)]
char dummy3[sizeof(double)]
char dummy1[sizeof(ElementPtr)]
char dummy5[sizeof(std::string)]