Kea  2.3.5-git
dhcp6_parser.h
Go to the documentation of this file.
1 // A Bison parser, made by GNU Bison 3.8.2.
2 
3 // Skeleton interface for Bison LALR(1) parsers in C++
4 
5 // Copyright (C) 2002-2015, 2018-2021 Free Software Foundation, Inc.
6 
7 // This program is free software: you can redistribute it and/or modify
8 // it under the terms of the GNU General Public License as published by
9 // the Free Software Foundation, either version 3 of the License, or
10 // (at your option) any later version.
11 
12 // This program is distributed in the hope that it will be useful,
13 // but WITHOUT ANY WARRANTY; without even the implied warranty of
14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 // GNU General Public License for more details.
16 
17 // You should have received a copy of the GNU General Public License
18 // along with this program. If not, see <https://www.gnu.org/licenses/>.
19 
20 // As a special exception, you may create a larger work that contains
21 // part or all of the Bison parser skeleton and distribute that work
22 // under terms of your choice, so long as that work isn't itself a
23 // parser generator using the skeleton or a modified version thereof
24 // as a parser skeleton. Alternatively, if you modify or redistribute
25 // the parser skeleton itself, you may (at your option) remove this
26 // special exception, which will cause the skeleton and the resulting
27 // Bison output files to be licensed under the GNU General Public
28 // License without this special exception.
29 
30 // This special exception was added by the Free Software Foundation in
31 // version 2.2 of Bison.
32 
33 
39 // C++ LALR(1) parser skeleton written by Akim Demaille.
40 
41 // DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
42 // especially those whose name start with YY_ or yy_. They are
43 // private implementation details that can be changed or removed.
44 
45 #ifndef YY_PARSER6_DHCP6_PARSER_H_INCLUDED
46 # define YY_PARSER6_DHCP6_PARSER_H_INCLUDED
47 // "%code requires" blocks.
48 #line 17 "dhcp6_parser.yy"
49 
50 #include <string>
51 #include <cc/data.h>
52 #include <dhcp/option.h>
53 #include <boost/lexical_cast.hpp>
55 
56 using namespace isc::dhcp;
57 using namespace isc::data;
58 using namespace std;
59 
60 #line 61 "dhcp6_parser.h"
61 
62 # include <cassert>
63 # include <cstdlib> // std::abort
64 # include <iostream>
65 # include <stdexcept>
66 # include <string>
67 # include <vector>
68 
69 #if defined __cplusplus
70 # define YY_CPLUSPLUS __cplusplus
71 #else
72 # define YY_CPLUSPLUS 199711L
73 #endif
74 
75 // Support move semantics when possible.
76 #if 201103L <= YY_CPLUSPLUS
77 # define YY_MOVE std::move
78 # define YY_MOVE_OR_COPY move
79 # define YY_MOVE_REF(Type) Type&&
80 # define YY_RVREF(Type) Type&&
81 # define YY_COPY(Type) Type
82 #else
83 # define YY_MOVE
84 # define YY_MOVE_OR_COPY copy
85 # define YY_MOVE_REF(Type) Type&
86 # define YY_RVREF(Type) const Type&
87 # define YY_COPY(Type) const Type&
88 #endif
89 
90 // Support noexcept when possible.
91 #if 201103L <= YY_CPLUSPLUS
92 # define YY_NOEXCEPT noexcept
93 # define YY_NOTHROW
94 #else
95 # define YY_NOEXCEPT
96 # define YY_NOTHROW throw ()
97 #endif
98 
99 // Support constexpr when possible.
100 #if 201703 <= YY_CPLUSPLUS
101 # define YY_CONSTEXPR constexpr
102 #else
103 # define YY_CONSTEXPR
104 #endif
105 # include "location.hh"
106 #include <typeinfo>
107 #ifndef PARSER6__ASSERT
108 # include <cassert>
109 # define PARSER6__ASSERT assert
110 #endif
111 
112 
113 #ifndef YY_ATTRIBUTE_PURE
114 # if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__)
115 # define YY_ATTRIBUTE_PURE __attribute__ ((__pure__))
116 # else
117 # define YY_ATTRIBUTE_PURE
118 # endif
119 #endif
120 
121 #ifndef YY_ATTRIBUTE_UNUSED
122 # if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__)
123 # define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
124 # else
125 # define YY_ATTRIBUTE_UNUSED
126 # endif
127 #endif
128 
129 /* Suppress unused-variable warnings by "using" E. */
130 #if ! defined lint || defined __GNUC__
131 # define YY_USE(E) ((void) (E))
132 #else
133 # define YY_USE(E) /* empty */
134 #endif
135 
136 /* Suppress an incorrect diagnostic about yylval being uninitialized. */
137 #if defined __GNUC__ && ! defined __ICC && 406 <= __GNUC__ * 100 + __GNUC_MINOR__
138 # if __GNUC__ * 100 + __GNUC_MINOR__ < 407
139 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
140  _Pragma ("GCC diagnostic push") \
141  _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")
142 # else
143 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
144  _Pragma ("GCC diagnostic push") \
145  _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") \
146  _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
147 # endif
148 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
149  _Pragma ("GCC diagnostic pop")
150 #else
151 # define YY_INITIAL_VALUE(Value) Value
152 #endif
153 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
154 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
155 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
156 #endif
157 #ifndef YY_INITIAL_VALUE
158 # define YY_INITIAL_VALUE(Value) /* Nothing. */
159 #endif
160 
161 #if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__
162 # define YY_IGNORE_USELESS_CAST_BEGIN \
163  _Pragma ("GCC diagnostic push") \
164  _Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"")
165 # define YY_IGNORE_USELESS_CAST_END \
166  _Pragma ("GCC diagnostic pop")
167 #endif
168 #ifndef YY_IGNORE_USELESS_CAST_BEGIN
169 # define YY_IGNORE_USELESS_CAST_BEGIN
170 # define YY_IGNORE_USELESS_CAST_END
171 #endif
172 
173 # ifndef YY_CAST
174 # ifdef __cplusplus
175 # define YY_CAST(Type, Val) static_cast<Type> (Val)
176 # define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val)
177 # else
178 # define YY_CAST(Type, Val) ((Type) (Val))
179 # define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val))
180 # endif
181 # endif
182 # ifndef YY_NULLPTR
183 # if defined __cplusplus
184 # if 201103L <= __cplusplus
185 # define YY_NULLPTR nullptr
186 # else
187 # define YY_NULLPTR 0
188 # endif
189 # else
190 # define YY_NULLPTR ((void*)0)
191 # endif
192 # endif
193 
194 /* Debug traces. */
195 #ifndef PARSER6_DEBUG
196 # if defined YYDEBUG
197 #if YYDEBUG
198 # define PARSER6_DEBUG 1
199 # else
200 # define PARSER6_DEBUG 0
201 # endif
202 # else /* ! defined YYDEBUG */
203 # define PARSER6_DEBUG 1
204 # endif /* ! defined YYDEBUG */
205 #endif /* ! defined PARSER6_DEBUG */
206 
207 #line 14 "dhcp6_parser.yy"
208 namespace isc { namespace dhcp {
209 #line 210 "dhcp6_parser.h"
210 
211 
212 
213 
216  {
217  public:
218 #ifdef PARSER6_STYPE
219 # ifdef __GNUC__
220 # pragma GCC message "bison: do not #define PARSER6_STYPE in C++, use %define api.value.type"
221 # endif
222  typedef PARSER6_STYPE value_type;
223 #else
224  class value_type
230  {
231  public:
233  typedef value_type self_type;
234 
237  : yyraw_ ()
238  , yytypeid_ (YY_NULLPTR)
239  {}
240 
242  template <typename T>
244  : yytypeid_ (&typeid (T))
245  {
246  PARSER6__ASSERT (sizeof (T) <= size);
247  new (yyas_<T> ()) T (YY_MOVE (t));
248  }
249 
250 #if 201103L <= YY_CPLUSPLUS
251  value_type (const self_type&) = delete;
254  self_type& operator= (const self_type&) = delete;
255 #endif
256 
259  {
260  PARSER6__ASSERT (!yytypeid_);
261  }
262 
263 # if 201103L <= YY_CPLUSPLUS
264  template <typename T, typename... U>
266  T&
267  emplace (U&&... u)
268  {
269  PARSER6__ASSERT (!yytypeid_);
270  PARSER6__ASSERT (sizeof (T) <= size);
271  yytypeid_ = & typeid (T);
272  return *new (yyas_<T> ()) T (std::forward <U>(u)...);
273  }
274 # else
275  template <typename T>
277  T&
279  {
280  PARSER6__ASSERT (!yytypeid_);
281  PARSER6__ASSERT (sizeof (T) <= size);
282  yytypeid_ = & typeid (T);
283  return *new (yyas_<T> ()) T ();
284  }
285 
287  template <typename T>
288  T&
289  emplace (const T& t)
290  {
291  PARSER6__ASSERT (!yytypeid_);
292  PARSER6__ASSERT (sizeof (T) <= size);
293  yytypeid_ = & typeid (T);
294  return *new (yyas_<T> ()) T (t);
295  }
296 # endif
297 
300  template <typename T>
301  T&
302  build ()
303  {
304  return emplace<T> ();
305  }
306 
309  template <typename T>
310  T&
311  build (const T& t)
312  {
313  return emplace<T> (t);
314  }
315 
317  template <typename T>
318  T&
320  {
321  PARSER6__ASSERT (yytypeid_);
322  PARSER6__ASSERT (*yytypeid_ == typeid (T));
323  PARSER6__ASSERT (sizeof (T) <= size);
324  return *yyas_<T> ();
325  }
326 
328  template <typename T>
329  const T&
330  as () const YY_NOEXCEPT
331  {
332  PARSER6__ASSERT (yytypeid_);
333  PARSER6__ASSERT (*yytypeid_ == typeid (T));
334  PARSER6__ASSERT (sizeof (T) <= size);
335  return *yyas_<T> ();
336  }
337 
346  template <typename T>
347  void
348  swap (self_type& that) YY_NOEXCEPT
349  {
350  PARSER6__ASSERT (yytypeid_);
351  PARSER6__ASSERT (*yytypeid_ == *that.yytypeid_);
352  std::swap (as<T> (), that.as<T> ());
353  }
354 
358  template <typename T>
359  void
360  move (self_type& that)
361  {
362 # if 201103L <= YY_CPLUSPLUS
363  emplace<T> (std::move (that.as<T> ()));
364 # else
365  emplace<T> ();
366  swap<T> (that);
367 # endif
368  that.destroy<T> ();
369  }
370 
371 # if 201103L <= YY_CPLUSPLUS
372  template <typename T>
374  void
375  move (self_type&& that)
376  {
377  emplace<T> (std::move (that.as<T> ()));
378  that.destroy<T> ();
379  }
380 #endif
381 
383  template <typename T>
384  void
385  copy (const self_type& that)
386  {
387  emplace<T> (that.as<T> ());
388  }
389 
391  template <typename T>
392  void
394  {
395  as<T> ().~T ();
396  yytypeid_ = YY_NULLPTR;
397  }
398 
399  private:
400 #if YY_CPLUSPLUS < 201103L
401  value_type (const self_type&);
404  self_type& operator= (const self_type&);
405 #endif
406 
408  template <typename T>
409  T*
410  yyas_ () YY_NOEXCEPT
411  {
412  void *yyp = yyraw_;
413  return static_cast<T*> (yyp);
414  }
415 
417  template <typename T>
418  const T*
419  yyas_ () const YY_NOEXCEPT
420  {
421  const void *yyp = yyraw_;
422  return static_cast<const T*> (yyp);
423  }
424 
426  union union_type
427  {
428  // value
429  // map_value
430  // ddns_replace_client_name_value
431  // db_type
432  // on_fail_mode
433  // hr_mode
434  // duid_type
435  // ncr_protocol_value
436  char dummy1[sizeof (ElementPtr)];
437 
438  // "boolean"
439  char dummy2[sizeof (bool)];
440 
441  // "floating point"
442  char dummy3[sizeof (double)];
443 
444  // "integer"
445  char dummy4[sizeof (int64_t)];
446 
447  // "constant string"
448  char dummy5[sizeof (std::string)];
449  };
450 
452  enum { size = sizeof (union_type) };
453 
455  union
456  {
458  long double yyalign_me_;
460  char yyraw_[size];
461  };
462 
464  const std::type_info *yytypeid_;
465  };
466 
467 #endif
468  typedef value_type semantic_type;
470 
472  typedef location location_type;
473 
475  struct syntax_error : std::runtime_error
476  {
477  syntax_error (const location_type& l, const std::string& m)
478  : std::runtime_error (m)
479  , location (l)
480  {}
481 
483  : std::runtime_error (s.what ())
484  , location (s.location)
485  {}
486 
488 
489  location_type location;
490  };
491 
493  struct token
494  {
496  {
497  TOKEN_PARSER6_EMPTY = -2,
498  TOKEN_END = 0, // "end of file"
499  TOKEN_PARSER6_error = 256, // error
500  TOKEN_PARSER6_UNDEF = 257, // "invalid token"
501  TOKEN_COMMA = 258, // ","
502  TOKEN_COLON = 259, // ":"
503  TOKEN_LSQUARE_BRACKET = 260, // "["
504  TOKEN_RSQUARE_BRACKET = 261, // "]"
505  TOKEN_LCURLY_BRACKET = 262, // "{"
506  TOKEN_RCURLY_BRACKET = 263, // "}"
507  TOKEN_NULL_TYPE = 264, // "null"
508  TOKEN_DHCP6 = 265, // "Dhcp6"
509  TOKEN_DATA_DIRECTORY = 266, // "data-directory"
510  TOKEN_CONFIG_CONTROL = 267, // "config-control"
511  TOKEN_CONFIG_DATABASES = 268, // "config-databases"
512  TOKEN_CONFIG_FETCH_WAIT_TIME = 269, // "config-fetch-wait-time"
513  TOKEN_INTERFACES_CONFIG = 270, // "interfaces-config"
514  TOKEN_INTERFACES = 271, // "interfaces"
515  TOKEN_RE_DETECT = 272, // "re-detect"
516  TOKEN_SERVICE_SOCKETS_REQUIRE_ALL = 273, // "service-sockets-require-all"
517  TOKEN_SERVICE_SOCKETS_RETRY_WAIT_TIME = 274, // "service-sockets-retry-wait-time"
518  TOKEN_SERVICE_SOCKETS_MAX_RETRIES = 275, // "service-sockets-max-retries"
519  TOKEN_LEASE_DATABASE = 276, // "lease-database"
520  TOKEN_HOSTS_DATABASE = 277, // "hosts-database"
521  TOKEN_HOSTS_DATABASES = 278, // "hosts-databases"
522  TOKEN_TYPE = 279, // "type"
523  TOKEN_MEMFILE = 280, // "memfile"
524  TOKEN_MYSQL = 281, // "mysql"
525  TOKEN_POSTGRESQL = 282, // "postgresql"
526  TOKEN_USER = 283, // "user"
527  TOKEN_PASSWORD = 284, // "password"
528  TOKEN_HOST = 285, // "host"
529  TOKEN_PORT = 286, // "port"
530  TOKEN_PERSIST = 287, // "persist"
531  TOKEN_LFC_INTERVAL = 288, // "lfc-interval"
532  TOKEN_READONLY = 289, // "readonly"
533  TOKEN_CONNECT_TIMEOUT = 290, // "connect-timeout"
534  TOKEN_READ_TIMEOUT = 291, // "read-timeout"
535  TOKEN_WRITE_TIMEOUT = 292, // "write-timeout"
536  TOKEN_TCP_USER_TIMEOUT = 293, // "tcp-user-timeout"
537  TOKEN_MAX_RECONNECT_TRIES = 294, // "max-reconnect-tries"
538  TOKEN_RECONNECT_WAIT_TIME = 295, // "reconnect-wait-time"
539  TOKEN_ON_FAIL = 296, // "on-fail"
540  TOKEN_STOP_RETRY_EXIT = 297, // "stop-retry-exit"
541  TOKEN_SERVE_RETRY_EXIT = 298, // "serve-retry-exit"
542  TOKEN_SERVE_RETRY_CONTINUE = 299, // "serve-retry-continue"
543  TOKEN_MAX_ROW_ERRORS = 300, // "max-row-errors"
544  TOKEN_TRUST_ANCHOR = 301, // "trust-anchor"
545  TOKEN_CERT_FILE = 302, // "cert-file"
546  TOKEN_KEY_FILE = 303, // "key-file"
547  TOKEN_CIPHER_LIST = 304, // "cipher-list"
548  TOKEN_PREFERRED_LIFETIME = 305, // "preferred-lifetime"
549  TOKEN_MIN_PREFERRED_LIFETIME = 306, // "min-preferred-lifetime"
550  TOKEN_MAX_PREFERRED_LIFETIME = 307, // "max-preferred-lifetime"
551  TOKEN_VALID_LIFETIME = 308, // "valid-lifetime"
552  TOKEN_MIN_VALID_LIFETIME = 309, // "min-valid-lifetime"
553  TOKEN_MAX_VALID_LIFETIME = 310, // "max-valid-lifetime"
554  TOKEN_RENEW_TIMER = 311, // "renew-timer"
555  TOKEN_REBIND_TIMER = 312, // "rebind-timer"
556  TOKEN_CALCULATE_TEE_TIMES = 313, // "calculate-tee-times"
557  TOKEN_T1_PERCENT = 314, // "t1-percent"
558  TOKEN_T2_PERCENT = 315, // "t2-percent"
559  TOKEN_CACHE_THRESHOLD = 316, // "cache-threshold"
560  TOKEN_CACHE_MAX_AGE = 317, // "cache-max-age"
561  TOKEN_DECLINE_PROBATION_PERIOD = 318, // "decline-probation-period"
562  TOKEN_SERVER_TAG = 319, // "server-tag"
563  TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT = 320, // "statistic-default-sample-count"
564  TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE = 321, // "statistic-default-sample-age"
565  TOKEN_DDNS_SEND_UPDATES = 322, // "ddns-send-updates"
566  TOKEN_DDNS_OVERRIDE_NO_UPDATE = 323, // "ddns-override-no-update"
567  TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE = 324, // "ddns-override-client-update"
568  TOKEN_DDNS_REPLACE_CLIENT_NAME = 325, // "ddns-replace-client-name"
569  TOKEN_DDNS_GENERATED_PREFIX = 326, // "ddns-generated-prefix"
570  TOKEN_DDNS_QUALIFYING_SUFFIX = 327, // "ddns-qualifying-suffix"
571  TOKEN_DDNS_UPDATE_ON_RENEW = 328, // "ddns-update-on-renew"
572  TOKEN_DDNS_USE_CONFLICT_RESOLUTION = 329, // "ddns-use-conflict-resolution"
573  TOKEN_STORE_EXTENDED_INFO = 330, // "store-extended-info"
574  TOKEN_SUBNET6 = 331, // "subnet6"
575  TOKEN_OPTION_DEF = 332, // "option-def"
576  TOKEN_OPTION_DATA = 333, // "option-data"
577  TOKEN_NAME = 334, // "name"
578  TOKEN_DATA = 335, // "data"
579  TOKEN_CODE = 336, // "code"
580  TOKEN_SPACE = 337, // "space"
581  TOKEN_CSV_FORMAT = 338, // "csv-format"
582  TOKEN_ALWAYS_SEND = 339, // "always-send"
583  TOKEN_RECORD_TYPES = 340, // "record-types"
584  TOKEN_ENCAPSULATE = 341, // "encapsulate"
585  TOKEN_ARRAY = 342, // "array"
586  TOKEN_PARKED_PACKET_LIMIT = 343, // "parked-packet-limit"
587  TOKEN_ALLOCATOR = 344, // "allocator"
588  TOKEN_PD_ALLOCATOR = 345, // "pd-allocator"
589  TOKEN_SHARED_NETWORKS = 346, // "shared-networks"
590  TOKEN_POOLS = 347, // "pools"
591  TOKEN_POOL = 348, // "pool"
592  TOKEN_PD_POOLS = 349, // "pd-pools"
593  TOKEN_PREFIX = 350, // "prefix"
594  TOKEN_PREFIX_LEN = 351, // "prefix-len"
595  TOKEN_EXCLUDED_PREFIX = 352, // "excluded-prefix"
596  TOKEN_EXCLUDED_PREFIX_LEN = 353, // "excluded-prefix-len"
597  TOKEN_DELEGATED_LEN = 354, // "delegated-len"
598  TOKEN_USER_CONTEXT = 355, // "user-context"
599  TOKEN_COMMENT = 356, // "comment"
600  TOKEN_SUBNET = 357, // "subnet"
601  TOKEN_INTERFACE = 358, // "interface"
602  TOKEN_INTERFACE_ID = 359, // "interface-id"
603  TOKEN_ID = 360, // "id"
604  TOKEN_RAPID_COMMIT = 361, // "rapid-commit"
605  TOKEN_RESERVATION_MODE = 362, // "reservation-mode"
606  TOKEN_DISABLED = 363, // "disabled"
607  TOKEN_OUT_OF_POOL = 364, // "out-of-pool"
608  TOKEN_GLOBAL = 365, // "global"
609  TOKEN_ALL = 366, // "all"
610  TOKEN_RESERVATIONS_GLOBAL = 367, // "reservations-global"
611  TOKEN_RESERVATIONS_IN_SUBNET = 368, // "reservations-in-subnet"
612  TOKEN_RESERVATIONS_OUT_OF_POOL = 369, // "reservations-out-of-pool"
613  TOKEN_MAC_SOURCES = 370, // "mac-sources"
614  TOKEN_RELAY_SUPPLIED_OPTIONS = 371, // "relay-supplied-options"
615  TOKEN_HOST_RESERVATION_IDENTIFIERS = 372, // "host-reservation-identifiers"
616  TOKEN_SANITY_CHECKS = 373, // "sanity-checks"
617  TOKEN_LEASE_CHECKS = 374, // "lease-checks"
618  TOKEN_EXTENDED_INFO_CHECKS = 375, // "extended-info-checks"
619  TOKEN_CLIENT_CLASSES = 376, // "client-classes"
620  TOKEN_REQUIRE_CLIENT_CLASSES = 377, // "require-client-classes"
621  TOKEN_TEST = 378, // "test"
622  TOKEN_TEMPLATE_TEST = 379, // "template-test"
623  TOKEN_ONLY_IF_REQUIRED = 380, // "only-if-required"
624  TOKEN_CLIENT_CLASS = 381, // "client-class"
625  TOKEN_RESERVATIONS = 382, // "reservations"
626  TOKEN_IP_ADDRESSES = 383, // "ip-addresses"
627  TOKEN_PREFIXES = 384, // "prefixes"
628  TOKEN_DUID = 385, // "duid"
629  TOKEN_HW_ADDRESS = 386, // "hw-address"
630  TOKEN_HOSTNAME = 387, // "hostname"
631  TOKEN_FLEX_ID = 388, // "flex-id"
632  TOKEN_RELAY = 389, // "relay"
633  TOKEN_IP_ADDRESS = 390, // "ip-address"
634  TOKEN_HOOKS_LIBRARIES = 391, // "hooks-libraries"
635  TOKEN_LIBRARY = 392, // "library"
636  TOKEN_PARAMETERS = 393, // "parameters"
637  TOKEN_EXPIRED_LEASES_PROCESSING = 394, // "expired-leases-processing"
638  TOKEN_RECLAIM_TIMER_WAIT_TIME = 395, // "reclaim-timer-wait-time"
639  TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 396, // "flush-reclaimed-timer-wait-time"
640  TOKEN_HOLD_RECLAIMED_TIME = 397, // "hold-reclaimed-time"
641  TOKEN_MAX_RECLAIM_LEASES = 398, // "max-reclaim-leases"
642  TOKEN_MAX_RECLAIM_TIME = 399, // "max-reclaim-time"
643  TOKEN_UNWARNED_RECLAIM_CYCLES = 400, // "unwarned-reclaim-cycles"
644  TOKEN_SERVER_ID = 401, // "server-id"
645  TOKEN_LLT = 402, // "LLT"
646  TOKEN_EN = 403, // "EN"
647  TOKEN_LL = 404, // "LL"
648  TOKEN_IDENTIFIER = 405, // "identifier"
649  TOKEN_HTYPE = 406, // "htype"
650  TOKEN_TIME = 407, // "time"
651  TOKEN_ENTERPRISE_ID = 408, // "enterprise-id"
652  TOKEN_DHCP4O6_PORT = 409, // "dhcp4o6-port"
653  TOKEN_DHCP_MULTI_THREADING = 410, // "multi-threading"
654  TOKEN_ENABLE_MULTI_THREADING = 411, // "enable-multi-threading"
655  TOKEN_THREAD_POOL_SIZE = 412, // "thread-pool-size"
656  TOKEN_PACKET_QUEUE_SIZE = 413, // "packet-queue-size"
657  TOKEN_CONTROL_SOCKET = 414, // "control-socket"
658  TOKEN_SOCKET_TYPE = 415, // "socket-type"
659  TOKEN_SOCKET_NAME = 416, // "socket-name"
660  TOKEN_DHCP_QUEUE_CONTROL = 417, // "dhcp-queue-control"
661  TOKEN_ENABLE_QUEUE = 418, // "enable-queue"
662  TOKEN_QUEUE_TYPE = 419, // "queue-type"
663  TOKEN_CAPACITY = 420, // "capacity"
664  TOKEN_DHCP_DDNS = 421, // "dhcp-ddns"
665  TOKEN_ENABLE_UPDATES = 422, // "enable-updates"
666  TOKEN_QUALIFYING_SUFFIX = 423, // "qualifying-suffix"
667  TOKEN_SERVER_IP = 424, // "server-ip"
668  TOKEN_SERVER_PORT = 425, // "server-port"
669  TOKEN_SENDER_IP = 426, // "sender-ip"
670  TOKEN_SENDER_PORT = 427, // "sender-port"
671  TOKEN_MAX_QUEUE_SIZE = 428, // "max-queue-size"
672  TOKEN_NCR_PROTOCOL = 429, // "ncr-protocol"
673  TOKEN_NCR_FORMAT = 430, // "ncr-format"
674  TOKEN_OVERRIDE_NO_UPDATE = 431, // "override-no-update"
675  TOKEN_OVERRIDE_CLIENT_UPDATE = 432, // "override-client-update"
676  TOKEN_REPLACE_CLIENT_NAME = 433, // "replace-client-name"
677  TOKEN_GENERATED_PREFIX = 434, // "generated-prefix"
678  TOKEN_UDP = 435, // "UDP"
679  TOKEN_TCP = 436, // "TCP"
680  TOKEN_JSON = 437, // "JSON"
681  TOKEN_WHEN_PRESENT = 438, // "when-present"
682  TOKEN_NEVER = 439, // "never"
683  TOKEN_ALWAYS = 440, // "always"
684  TOKEN_WHEN_NOT_PRESENT = 441, // "when-not-present"
685  TOKEN_HOSTNAME_CHAR_SET = 442, // "hostname-char-set"
686  TOKEN_HOSTNAME_CHAR_REPLACEMENT = 443, // "hostname-char-replacement"
687  TOKEN_EARLY_GLOBAL_RESERVATIONS_LOOKUP = 444, // "early-global-reservations-lookup"
688  TOKEN_IP_RESERVATIONS_UNIQUE = 445, // "ip-reservations-unique"
689  TOKEN_RESERVATIONS_LOOKUP_FIRST = 446, // "reservations-lookup-first"
690  TOKEN_LOGGERS = 447, // "loggers"
691  TOKEN_OUTPUT_OPTIONS = 448, // "output_options"
692  TOKEN_OUTPUT = 449, // "output"
693  TOKEN_DEBUGLEVEL = 450, // "debuglevel"
694  TOKEN_SEVERITY = 451, // "severity"
695  TOKEN_FLUSH = 452, // "flush"
696  TOKEN_MAXSIZE = 453, // "maxsize"
697  TOKEN_MAXVER = 454, // "maxver"
698  TOKEN_PATTERN = 455, // "pattern"
699  TOKEN_COMPATIBILITY = 456, // "compatibility"
700  TOKEN_LENIENT_OPTION_PARSING = 457, // "lenient-option-parsing"
701  TOKEN_TOPLEVEL_JSON = 458, // TOPLEVEL_JSON
702  TOKEN_TOPLEVEL_DHCP6 = 459, // TOPLEVEL_DHCP6
703  TOKEN_SUB_DHCP6 = 460, // SUB_DHCP6
704  TOKEN_SUB_INTERFACES6 = 461, // SUB_INTERFACES6
705  TOKEN_SUB_SUBNET6 = 462, // SUB_SUBNET6
706  TOKEN_SUB_POOL6 = 463, // SUB_POOL6
707  TOKEN_SUB_PD_POOL = 464, // SUB_PD_POOL
708  TOKEN_SUB_RESERVATION = 465, // SUB_RESERVATION
709  TOKEN_SUB_OPTION_DEFS = 466, // SUB_OPTION_DEFS
710  TOKEN_SUB_OPTION_DEF = 467, // SUB_OPTION_DEF
711  TOKEN_SUB_OPTION_DATA = 468, // SUB_OPTION_DATA
712  TOKEN_SUB_HOOKS_LIBRARY = 469, // SUB_HOOKS_LIBRARY
713  TOKEN_SUB_DHCP_DDNS = 470, // SUB_DHCP_DDNS
714  TOKEN_SUB_CONFIG_CONTROL = 471, // SUB_CONFIG_CONTROL
715  TOKEN_STRING = 472, // "constant string"
716  TOKEN_INTEGER = 473, // "integer"
717  TOKEN_FLOAT = 474, // "floating point"
718  TOKEN_BOOLEAN = 475 // "boolean"
719  };
722  };
723 
726 
728  typedef token_kind_type token_type;
729 
731  struct symbol_kind
732  {
734  {
735  YYNTOKENS = 221,
736  S_YYEMPTY = -2,
737  S_YYEOF = 0, // "end of file"
738  S_YYerror = 1, // error
739  S_YYUNDEF = 2, // "invalid token"
740  S_COMMA = 3, // ","
741  S_COLON = 4, // ":"
742  S_LSQUARE_BRACKET = 5, // "["
743  S_RSQUARE_BRACKET = 6, // "]"
744  S_LCURLY_BRACKET = 7, // "{"
745  S_RCURLY_BRACKET = 8, // "}"
746  S_NULL_TYPE = 9, // "null"
747  S_DHCP6 = 10, // "Dhcp6"
748  S_DATA_DIRECTORY = 11, // "data-directory"
749  S_CONFIG_CONTROL = 12, // "config-control"
750  S_CONFIG_DATABASES = 13, // "config-databases"
751  S_CONFIG_FETCH_WAIT_TIME = 14, // "config-fetch-wait-time"
752  S_INTERFACES_CONFIG = 15, // "interfaces-config"
753  S_INTERFACES = 16, // "interfaces"
754  S_RE_DETECT = 17, // "re-detect"
755  S_SERVICE_SOCKETS_REQUIRE_ALL = 18, // "service-sockets-require-all"
756  S_SERVICE_SOCKETS_RETRY_WAIT_TIME = 19, // "service-sockets-retry-wait-time"
757  S_SERVICE_SOCKETS_MAX_RETRIES = 20, // "service-sockets-max-retries"
758  S_LEASE_DATABASE = 21, // "lease-database"
759  S_HOSTS_DATABASE = 22, // "hosts-database"
760  S_HOSTS_DATABASES = 23, // "hosts-databases"
761  S_TYPE = 24, // "type"
762  S_MEMFILE = 25, // "memfile"
763  S_MYSQL = 26, // "mysql"
764  S_POSTGRESQL = 27, // "postgresql"
765  S_USER = 28, // "user"
766  S_PASSWORD = 29, // "password"
767  S_HOST = 30, // "host"
768  S_PORT = 31, // "port"
769  S_PERSIST = 32, // "persist"
770  S_LFC_INTERVAL = 33, // "lfc-interval"
771  S_READONLY = 34, // "readonly"
772  S_CONNECT_TIMEOUT = 35, // "connect-timeout"
773  S_READ_TIMEOUT = 36, // "read-timeout"
774  S_WRITE_TIMEOUT = 37, // "write-timeout"
775  S_TCP_USER_TIMEOUT = 38, // "tcp-user-timeout"
776  S_MAX_RECONNECT_TRIES = 39, // "max-reconnect-tries"
777  S_RECONNECT_WAIT_TIME = 40, // "reconnect-wait-time"
778  S_ON_FAIL = 41, // "on-fail"
779  S_STOP_RETRY_EXIT = 42, // "stop-retry-exit"
780  S_SERVE_RETRY_EXIT = 43, // "serve-retry-exit"
781  S_SERVE_RETRY_CONTINUE = 44, // "serve-retry-continue"
782  S_MAX_ROW_ERRORS = 45, // "max-row-errors"
783  S_TRUST_ANCHOR = 46, // "trust-anchor"
784  S_CERT_FILE = 47, // "cert-file"
785  S_KEY_FILE = 48, // "key-file"
786  S_CIPHER_LIST = 49, // "cipher-list"
787  S_PREFERRED_LIFETIME = 50, // "preferred-lifetime"
788  S_MIN_PREFERRED_LIFETIME = 51, // "min-preferred-lifetime"
789  S_MAX_PREFERRED_LIFETIME = 52, // "max-preferred-lifetime"
790  S_VALID_LIFETIME = 53, // "valid-lifetime"
791  S_MIN_VALID_LIFETIME = 54, // "min-valid-lifetime"
792  S_MAX_VALID_LIFETIME = 55, // "max-valid-lifetime"
793  S_RENEW_TIMER = 56, // "renew-timer"
794  S_REBIND_TIMER = 57, // "rebind-timer"
795  S_CALCULATE_TEE_TIMES = 58, // "calculate-tee-times"
796  S_T1_PERCENT = 59, // "t1-percent"
797  S_T2_PERCENT = 60, // "t2-percent"
798  S_CACHE_THRESHOLD = 61, // "cache-threshold"
799  S_CACHE_MAX_AGE = 62, // "cache-max-age"
800  S_DECLINE_PROBATION_PERIOD = 63, // "decline-probation-period"
801  S_SERVER_TAG = 64, // "server-tag"
802  S_STATISTIC_DEFAULT_SAMPLE_COUNT = 65, // "statistic-default-sample-count"
803  S_STATISTIC_DEFAULT_SAMPLE_AGE = 66, // "statistic-default-sample-age"
804  S_DDNS_SEND_UPDATES = 67, // "ddns-send-updates"
805  S_DDNS_OVERRIDE_NO_UPDATE = 68, // "ddns-override-no-update"
806  S_DDNS_OVERRIDE_CLIENT_UPDATE = 69, // "ddns-override-client-update"
807  S_DDNS_REPLACE_CLIENT_NAME = 70, // "ddns-replace-client-name"
808  S_DDNS_GENERATED_PREFIX = 71, // "ddns-generated-prefix"
809  S_DDNS_QUALIFYING_SUFFIX = 72, // "ddns-qualifying-suffix"
810  S_DDNS_UPDATE_ON_RENEW = 73, // "ddns-update-on-renew"
811  S_DDNS_USE_CONFLICT_RESOLUTION = 74, // "ddns-use-conflict-resolution"
812  S_STORE_EXTENDED_INFO = 75, // "store-extended-info"
813  S_SUBNET6 = 76, // "subnet6"
814  S_OPTION_DEF = 77, // "option-def"
815  S_OPTION_DATA = 78, // "option-data"
816  S_NAME = 79, // "name"
817  S_DATA = 80, // "data"
818  S_CODE = 81, // "code"
819  S_SPACE = 82, // "space"
820  S_CSV_FORMAT = 83, // "csv-format"
821  S_ALWAYS_SEND = 84, // "always-send"
822  S_RECORD_TYPES = 85, // "record-types"
823  S_ENCAPSULATE = 86, // "encapsulate"
824  S_ARRAY = 87, // "array"
825  S_PARKED_PACKET_LIMIT = 88, // "parked-packet-limit"
826  S_ALLOCATOR = 89, // "allocator"
827  S_PD_ALLOCATOR = 90, // "pd-allocator"
828  S_SHARED_NETWORKS = 91, // "shared-networks"
829  S_POOLS = 92, // "pools"
830  S_POOL = 93, // "pool"
831  S_PD_POOLS = 94, // "pd-pools"
832  S_PREFIX = 95, // "prefix"
833  S_PREFIX_LEN = 96, // "prefix-len"
834  S_EXCLUDED_PREFIX = 97, // "excluded-prefix"
835  S_EXCLUDED_PREFIX_LEN = 98, // "excluded-prefix-len"
836  S_DELEGATED_LEN = 99, // "delegated-len"
837  S_USER_CONTEXT = 100, // "user-context"
838  S_COMMENT = 101, // "comment"
839  S_SUBNET = 102, // "subnet"
840  S_INTERFACE = 103, // "interface"
841  S_INTERFACE_ID = 104, // "interface-id"
842  S_ID = 105, // "id"
843  S_RAPID_COMMIT = 106, // "rapid-commit"
844  S_RESERVATION_MODE = 107, // "reservation-mode"
845  S_DISABLED = 108, // "disabled"
846  S_OUT_OF_POOL = 109, // "out-of-pool"
847  S_GLOBAL = 110, // "global"
848  S_ALL = 111, // "all"
849  S_RESERVATIONS_GLOBAL = 112, // "reservations-global"
850  S_RESERVATIONS_IN_SUBNET = 113, // "reservations-in-subnet"
851  S_RESERVATIONS_OUT_OF_POOL = 114, // "reservations-out-of-pool"
852  S_MAC_SOURCES = 115, // "mac-sources"
853  S_RELAY_SUPPLIED_OPTIONS = 116, // "relay-supplied-options"
854  S_HOST_RESERVATION_IDENTIFIERS = 117, // "host-reservation-identifiers"
855  S_SANITY_CHECKS = 118, // "sanity-checks"
856  S_LEASE_CHECKS = 119, // "lease-checks"
857  S_EXTENDED_INFO_CHECKS = 120, // "extended-info-checks"
858  S_CLIENT_CLASSES = 121, // "client-classes"
859  S_REQUIRE_CLIENT_CLASSES = 122, // "require-client-classes"
860  S_TEST = 123, // "test"
861  S_TEMPLATE_TEST = 124, // "template-test"
862  S_ONLY_IF_REQUIRED = 125, // "only-if-required"
863  S_CLIENT_CLASS = 126, // "client-class"
864  S_RESERVATIONS = 127, // "reservations"
865  S_IP_ADDRESSES = 128, // "ip-addresses"
866  S_PREFIXES = 129, // "prefixes"
867  S_DUID = 130, // "duid"
868  S_HW_ADDRESS = 131, // "hw-address"
869  S_HOSTNAME = 132, // "hostname"
870  S_FLEX_ID = 133, // "flex-id"
871  S_RELAY = 134, // "relay"
872  S_IP_ADDRESS = 135, // "ip-address"
873  S_HOOKS_LIBRARIES = 136, // "hooks-libraries"
874  S_LIBRARY = 137, // "library"
875  S_PARAMETERS = 138, // "parameters"
876  S_EXPIRED_LEASES_PROCESSING = 139, // "expired-leases-processing"
877  S_RECLAIM_TIMER_WAIT_TIME = 140, // "reclaim-timer-wait-time"
878  S_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 141, // "flush-reclaimed-timer-wait-time"
879  S_HOLD_RECLAIMED_TIME = 142, // "hold-reclaimed-time"
880  S_MAX_RECLAIM_LEASES = 143, // "max-reclaim-leases"
881  S_MAX_RECLAIM_TIME = 144, // "max-reclaim-time"
882  S_UNWARNED_RECLAIM_CYCLES = 145, // "unwarned-reclaim-cycles"
883  S_SERVER_ID = 146, // "server-id"
884  S_LLT = 147, // "LLT"
885  S_EN = 148, // "EN"
886  S_LL = 149, // "LL"
887  S_IDENTIFIER = 150, // "identifier"
888  S_HTYPE = 151, // "htype"
889  S_TIME = 152, // "time"
890  S_ENTERPRISE_ID = 153, // "enterprise-id"
891  S_DHCP4O6_PORT = 154, // "dhcp4o6-port"
892  S_DHCP_MULTI_THREADING = 155, // "multi-threading"
893  S_ENABLE_MULTI_THREADING = 156, // "enable-multi-threading"
894  S_THREAD_POOL_SIZE = 157, // "thread-pool-size"
895  S_PACKET_QUEUE_SIZE = 158, // "packet-queue-size"
896  S_CONTROL_SOCKET = 159, // "control-socket"
897  S_SOCKET_TYPE = 160, // "socket-type"
898  S_SOCKET_NAME = 161, // "socket-name"
899  S_DHCP_QUEUE_CONTROL = 162, // "dhcp-queue-control"
900  S_ENABLE_QUEUE = 163, // "enable-queue"
901  S_QUEUE_TYPE = 164, // "queue-type"
902  S_CAPACITY = 165, // "capacity"
903  S_DHCP_DDNS = 166, // "dhcp-ddns"
904  S_ENABLE_UPDATES = 167, // "enable-updates"
905  S_QUALIFYING_SUFFIX = 168, // "qualifying-suffix"
906  S_SERVER_IP = 169, // "server-ip"
907  S_SERVER_PORT = 170, // "server-port"
908  S_SENDER_IP = 171, // "sender-ip"
909  S_SENDER_PORT = 172, // "sender-port"
910  S_MAX_QUEUE_SIZE = 173, // "max-queue-size"
911  S_NCR_PROTOCOL = 174, // "ncr-protocol"
912  S_NCR_FORMAT = 175, // "ncr-format"
913  S_OVERRIDE_NO_UPDATE = 176, // "override-no-update"
914  S_OVERRIDE_CLIENT_UPDATE = 177, // "override-client-update"
915  S_REPLACE_CLIENT_NAME = 178, // "replace-client-name"
916  S_GENERATED_PREFIX = 179, // "generated-prefix"
917  S_UDP = 180, // "UDP"
918  S_TCP = 181, // "TCP"
919  S_JSON = 182, // "JSON"
920  S_WHEN_PRESENT = 183, // "when-present"
921  S_NEVER = 184, // "never"
922  S_ALWAYS = 185, // "always"
923  S_WHEN_NOT_PRESENT = 186, // "when-not-present"
924  S_HOSTNAME_CHAR_SET = 187, // "hostname-char-set"
925  S_HOSTNAME_CHAR_REPLACEMENT = 188, // "hostname-char-replacement"
926  S_EARLY_GLOBAL_RESERVATIONS_LOOKUP = 189, // "early-global-reservations-lookup"
927  S_IP_RESERVATIONS_UNIQUE = 190, // "ip-reservations-unique"
928  S_RESERVATIONS_LOOKUP_FIRST = 191, // "reservations-lookup-first"
929  S_LOGGERS = 192, // "loggers"
930  S_OUTPUT_OPTIONS = 193, // "output_options"
931  S_OUTPUT = 194, // "output"
932  S_DEBUGLEVEL = 195, // "debuglevel"
933  S_SEVERITY = 196, // "severity"
934  S_FLUSH = 197, // "flush"
935  S_MAXSIZE = 198, // "maxsize"
936  S_MAXVER = 199, // "maxver"
937  S_PATTERN = 200, // "pattern"
938  S_COMPATIBILITY = 201, // "compatibility"
939  S_LENIENT_OPTION_PARSING = 202, // "lenient-option-parsing"
940  S_TOPLEVEL_JSON = 203, // TOPLEVEL_JSON
941  S_TOPLEVEL_DHCP6 = 204, // TOPLEVEL_DHCP6
942  S_SUB_DHCP6 = 205, // SUB_DHCP6
943  S_SUB_INTERFACES6 = 206, // SUB_INTERFACES6
944  S_SUB_SUBNET6 = 207, // SUB_SUBNET6
945  S_SUB_POOL6 = 208, // SUB_POOL6
946  S_SUB_PD_POOL = 209, // SUB_PD_POOL
947  S_SUB_RESERVATION = 210, // SUB_RESERVATION
948  S_SUB_OPTION_DEFS = 211, // SUB_OPTION_DEFS
949  S_SUB_OPTION_DEF = 212, // SUB_OPTION_DEF
950  S_SUB_OPTION_DATA = 213, // SUB_OPTION_DATA
951  S_SUB_HOOKS_LIBRARY = 214, // SUB_HOOKS_LIBRARY
952  S_SUB_DHCP_DDNS = 215, // SUB_DHCP_DDNS
953  S_SUB_CONFIG_CONTROL = 216, // SUB_CONFIG_CONTROL
954  S_STRING = 217, // "constant string"
955  S_INTEGER = 218, // "integer"
956  S_FLOAT = 219, // "floating point"
957  S_BOOLEAN = 220, // "boolean"
958  S_YYACCEPT = 221, // $accept
959  S_start = 222, // start
960  S_223_1 = 223, // $@1
961  S_224_2 = 224, // $@2
962  S_225_3 = 225, // $@3
963  S_226_4 = 226, // $@4
964  S_227_5 = 227, // $@5
965  S_228_6 = 228, // $@6
966  S_229_7 = 229, // $@7
967  S_230_8 = 230, // $@8
968  S_231_9 = 231, // $@9
969  S_232_10 = 232, // $@10
970  S_233_11 = 233, // $@11
971  S_234_12 = 234, // $@12
972  S_235_13 = 235, // $@13
973  S_236_14 = 236, // $@14
974  S_value = 237, // value
975  S_sub_json = 238, // sub_json
976  S_map2 = 239, // map2
977  S_240_15 = 240, // $@15
978  S_map_value = 241, // map_value
979  S_map_content = 242, // map_content
980  S_not_empty_map = 243, // not_empty_map
981  S_list_generic = 244, // list_generic
982  S_245_16 = 245, // $@16
983  S_list_content = 246, // list_content
984  S_not_empty_list = 247, // not_empty_list
985  S_list_strings = 248, // list_strings
986  S_249_17 = 249, // $@17
987  S_list_strings_content = 250, // list_strings_content
988  S_not_empty_list_strings = 251, // not_empty_list_strings
989  S_unknown_map_entry = 252, // unknown_map_entry
990  S_syntax_map = 253, // syntax_map
991  S_254_18 = 254, // $@18
992  S_global_object = 255, // global_object
993  S_256_19 = 256, // $@19
994  S_global_object_comma = 257, // global_object_comma
995  S_sub_dhcp6 = 258, // sub_dhcp6
996  S_259_20 = 259, // $@20
997  S_global_params = 260, // global_params
998  S_global_param = 261, // global_param
999  S_data_directory = 262, // data_directory
1000  S_263_21 = 263, // $@21
1001  S_preferred_lifetime = 264, // preferred_lifetime
1002  S_min_preferred_lifetime = 265, // min_preferred_lifetime
1003  S_max_preferred_lifetime = 266, // max_preferred_lifetime
1004  S_valid_lifetime = 267, // valid_lifetime
1005  S_min_valid_lifetime = 268, // min_valid_lifetime
1006  S_max_valid_lifetime = 269, // max_valid_lifetime
1007  S_renew_timer = 270, // renew_timer
1008  S_rebind_timer = 271, // rebind_timer
1009  S_calculate_tee_times = 272, // calculate_tee_times
1010  S_t1_percent = 273, // t1_percent
1011  S_t2_percent = 274, // t2_percent
1012  S_cache_threshold = 275, // cache_threshold
1013  S_cache_max_age = 276, // cache_max_age
1014  S_decline_probation_period = 277, // decline_probation_period
1015  S_ddns_send_updates = 278, // ddns_send_updates
1016  S_ddns_override_no_update = 279, // ddns_override_no_update
1017  S_ddns_override_client_update = 280, // ddns_override_client_update
1018  S_ddns_replace_client_name = 281, // ddns_replace_client_name
1019  S_282_22 = 282, // $@22
1020  S_ddns_replace_client_name_value = 283, // ddns_replace_client_name_value
1021  S_ddns_generated_prefix = 284, // ddns_generated_prefix
1022  S_285_23 = 285, // $@23
1023  S_ddns_qualifying_suffix = 286, // ddns_qualifying_suffix
1024  S_287_24 = 287, // $@24
1025  S_ddns_update_on_renew = 288, // ddns_update_on_renew
1026  S_ddns_use_conflict_resolution = 289, // ddns_use_conflict_resolution
1027  S_hostname_char_set = 290, // hostname_char_set
1028  S_291_25 = 291, // $@25
1029  S_hostname_char_replacement = 292, // hostname_char_replacement
1030  S_293_26 = 293, // $@26
1031  S_store_extended_info = 294, // store_extended_info
1032  S_statistic_default_sample_count = 295, // statistic_default_sample_count
1033  S_statistic_default_sample_age = 296, // statistic_default_sample_age
1034  S_server_tag = 297, // server_tag
1035  S_298_27 = 298, // $@27
1036  S_parked_packet_limit = 299, // parked_packet_limit
1037  S_allocator = 300, // allocator
1038  S_301_28 = 301, // $@28
1039  S_pd_allocator = 302, // pd_allocator
1040  S_303_29 = 303, // $@29
1041  S_early_global_reservations_lookup = 304, // early_global_reservations_lookup
1042  S_ip_reservations_unique = 305, // ip_reservations_unique
1043  S_reservations_lookup_first = 306, // reservations_lookup_first
1044  S_interfaces_config = 307, // interfaces_config
1045  S_308_30 = 308, // $@30
1046  S_sub_interfaces6 = 309, // sub_interfaces6
1047  S_310_31 = 310, // $@31
1048  S_interfaces_config_params = 311, // interfaces_config_params
1049  S_interfaces_config_param = 312, // interfaces_config_param
1050  S_interfaces_list = 313, // interfaces_list
1051  S_314_32 = 314, // $@32
1052  S_re_detect = 315, // re_detect
1053  S_service_sockets_require_all = 316, // service_sockets_require_all
1054  S_service_sockets_retry_wait_time = 317, // service_sockets_retry_wait_time
1055  S_service_sockets_max_retries = 318, // service_sockets_max_retries
1056  S_lease_database = 319, // lease_database
1057  S_320_33 = 320, // $@33
1058  S_hosts_database = 321, // hosts_database
1059  S_322_34 = 322, // $@34
1060  S_hosts_databases = 323, // hosts_databases
1061  S_324_35 = 324, // $@35
1062  S_database_list = 325, // database_list
1063  S_not_empty_database_list = 326, // not_empty_database_list
1064  S_database = 327, // database
1065  S_328_36 = 328, // $@36
1066  S_database_map_params = 329, // database_map_params
1067  S_database_map_param = 330, // database_map_param
1068  S_database_type = 331, // database_type
1069  S_332_37 = 332, // $@37
1070  S_db_type = 333, // db_type
1071  S_user = 334, // user
1072  S_335_38 = 335, // $@38
1073  S_password = 336, // password
1074  S_337_39 = 337, // $@39
1075  S_host = 338, // host
1076  S_339_40 = 339, // $@40
1077  S_port = 340, // port
1078  S_name = 341, // name
1079  S_342_41 = 342, // $@41
1080  S_persist = 343, // persist
1081  S_lfc_interval = 344, // lfc_interval
1082  S_readonly = 345, // readonly
1083  S_connect_timeout = 346, // connect_timeout
1084  S_read_timeout = 347, // read_timeout
1085  S_write_timeout = 348, // write_timeout
1086  S_tcp_user_timeout = 349, // tcp_user_timeout
1087  S_reconnect_wait_time = 350, // reconnect_wait_time
1088  S_on_fail = 351, // on_fail
1089  S_352_42 = 352, // $@42
1090  S_on_fail_mode = 353, // on_fail_mode
1091  S_max_row_errors = 354, // max_row_errors
1092  S_max_reconnect_tries = 355, // max_reconnect_tries
1093  S_trust_anchor = 356, // trust_anchor
1094  S_357_43 = 357, // $@43
1095  S_cert_file = 358, // cert_file
1096  S_359_44 = 359, // $@44
1097  S_key_file = 360, // key_file
1098  S_361_45 = 361, // $@45
1099  S_cipher_list = 362, // cipher_list
1100  S_363_46 = 363, // $@46
1101  S_sanity_checks = 364, // sanity_checks
1102  S_365_47 = 365, // $@47
1103  S_sanity_checks_params = 366, // sanity_checks_params
1104  S_sanity_checks_param = 367, // sanity_checks_param
1105  S_lease_checks = 368, // lease_checks
1106  S_369_48 = 369, // $@48
1107  S_extended_info_checks = 370, // extended_info_checks
1108  S_371_49 = 371, // $@49
1109  S_mac_sources = 372, // mac_sources
1110  S_373_50 = 373, // $@50
1111  S_mac_sources_list = 374, // mac_sources_list
1112  S_mac_sources_value = 375, // mac_sources_value
1113  S_duid_id = 376, // duid_id
1114  S_string_id = 377, // string_id
1115  S_host_reservation_identifiers = 378, // host_reservation_identifiers
1116  S_379_51 = 379, // $@51
1117  S_host_reservation_identifiers_list = 380, // host_reservation_identifiers_list
1118  S_host_reservation_identifier = 381, // host_reservation_identifier
1119  S_hw_address_id = 382, // hw_address_id
1120  S_flex_id = 383, // flex_id
1121  S_relay_supplied_options = 384, // relay_supplied_options
1122  S_385_52 = 385, // $@52
1123  S_dhcp_multi_threading = 386, // dhcp_multi_threading
1124  S_387_53 = 387, // $@53
1125  S_multi_threading_params = 388, // multi_threading_params
1126  S_multi_threading_param = 389, // multi_threading_param
1127  S_enable_multi_threading = 390, // enable_multi_threading
1128  S_thread_pool_size = 391, // thread_pool_size
1129  S_packet_queue_size = 392, // packet_queue_size
1130  S_hooks_libraries = 393, // hooks_libraries
1131  S_394_54 = 394, // $@54
1132  S_hooks_libraries_list = 395, // hooks_libraries_list
1133  S_not_empty_hooks_libraries_list = 396, // not_empty_hooks_libraries_list
1134  S_hooks_library = 397, // hooks_library
1135  S_398_55 = 398, // $@55
1136  S_sub_hooks_library = 399, // sub_hooks_library
1137  S_400_56 = 400, // $@56
1138  S_hooks_params = 401, // hooks_params
1139  S_hooks_param = 402, // hooks_param
1140  S_library = 403, // library
1141  S_404_57 = 404, // $@57
1142  S_parameters = 405, // parameters
1143  S_406_58 = 406, // $@58
1144  S_expired_leases_processing = 407, // expired_leases_processing
1145  S_408_59 = 408, // $@59
1146  S_expired_leases_params = 409, // expired_leases_params
1147  S_expired_leases_param = 410, // expired_leases_param
1148  S_reclaim_timer_wait_time = 411, // reclaim_timer_wait_time
1149  S_flush_reclaimed_timer_wait_time = 412, // flush_reclaimed_timer_wait_time
1150  S_hold_reclaimed_time = 413, // hold_reclaimed_time
1151  S_max_reclaim_leases = 414, // max_reclaim_leases
1152  S_max_reclaim_time = 415, // max_reclaim_time
1153  S_unwarned_reclaim_cycles = 416, // unwarned_reclaim_cycles
1154  S_subnet6_list = 417, // subnet6_list
1155  S_418_60 = 418, // $@60
1156  S_subnet6_list_content = 419, // subnet6_list_content
1157  S_not_empty_subnet6_list = 420, // not_empty_subnet6_list
1158  S_subnet6 = 421, // subnet6
1159  S_422_61 = 422, // $@61
1160  S_sub_subnet6 = 423, // sub_subnet6
1161  S_424_62 = 424, // $@62
1162  S_subnet6_params = 425, // subnet6_params
1163  S_subnet6_param = 426, // subnet6_param
1164  S_subnet = 427, // subnet
1165  S_428_63 = 428, // $@63
1166  S_interface = 429, // interface
1167  S_430_64 = 430, // $@64
1168  S_interface_id = 431, // interface_id
1169  S_432_65 = 432, // $@65
1170  S_client_class = 433, // client_class
1171  S_434_66 = 434, // $@66
1172  S_require_client_classes = 435, // require_client_classes
1173  S_436_67 = 436, // $@67
1174  S_reservations_global = 437, // reservations_global
1175  S_reservations_in_subnet = 438, // reservations_in_subnet
1176  S_reservations_out_of_pool = 439, // reservations_out_of_pool
1177  S_reservation_mode = 440, // reservation_mode
1178  S_441_68 = 441, // $@68
1179  S_hr_mode = 442, // hr_mode
1180  S_id = 443, // id
1181  S_rapid_commit = 444, // rapid_commit
1182  S_shared_networks = 445, // shared_networks
1183  S_446_69 = 446, // $@69
1184  S_shared_networks_content = 447, // shared_networks_content
1185  S_shared_networks_list = 448, // shared_networks_list
1186  S_shared_network = 449, // shared_network
1187  S_450_70 = 450, // $@70
1188  S_shared_network_params = 451, // shared_network_params
1189  S_shared_network_param = 452, // shared_network_param
1190  S_option_def_list = 453, // option_def_list
1191  S_454_71 = 454, // $@71
1192  S_sub_option_def_list = 455, // sub_option_def_list
1193  S_456_72 = 456, // $@72
1194  S_option_def_list_content = 457, // option_def_list_content
1195  S_not_empty_option_def_list = 458, // not_empty_option_def_list
1196  S_option_def_entry = 459, // option_def_entry
1197  S_460_73 = 460, // $@73
1198  S_sub_option_def = 461, // sub_option_def
1199  S_462_74 = 462, // $@74
1200  S_option_def_params = 463, // option_def_params
1201  S_not_empty_option_def_params = 464, // not_empty_option_def_params
1202  S_option_def_param = 465, // option_def_param
1203  S_option_def_name = 466, // option_def_name
1204  S_code = 467, // code
1205  S_option_def_code = 468, // option_def_code
1206  S_option_def_type = 469, // option_def_type
1207  S_470_75 = 470, // $@75
1208  S_option_def_record_types = 471, // option_def_record_types
1209  S_472_76 = 472, // $@76
1210  S_space = 473, // space
1211  S_474_77 = 474, // $@77
1212  S_option_def_space = 475, // option_def_space
1213  S_option_def_encapsulate = 476, // option_def_encapsulate
1214  S_477_78 = 477, // $@78
1215  S_option_def_array = 478, // option_def_array
1216  S_option_data_list = 479, // option_data_list
1217  S_480_79 = 480, // $@79
1218  S_option_data_list_content = 481, // option_data_list_content
1219  S_not_empty_option_data_list = 482, // not_empty_option_data_list
1220  S_option_data_entry = 483, // option_data_entry
1221  S_484_80 = 484, // $@80
1222  S_sub_option_data = 485, // sub_option_data
1223  S_486_81 = 486, // $@81
1224  S_option_data_params = 487, // option_data_params
1225  S_not_empty_option_data_params = 488, // not_empty_option_data_params
1226  S_option_data_param = 489, // option_data_param
1227  S_option_data_name = 490, // option_data_name
1228  S_option_data_data = 491, // option_data_data
1229  S_492_82 = 492, // $@82
1230  S_option_data_code = 493, // option_data_code
1231  S_option_data_space = 494, // option_data_space
1232  S_option_data_csv_format = 495, // option_data_csv_format
1233  S_option_data_always_send = 496, // option_data_always_send
1234  S_pools_list = 497, // pools_list
1235  S_498_83 = 498, // $@83
1236  S_pools_list_content = 499, // pools_list_content
1237  S_not_empty_pools_list = 500, // not_empty_pools_list
1238  S_pool_list_entry = 501, // pool_list_entry
1239  S_502_84 = 502, // $@84
1240  S_sub_pool6 = 503, // sub_pool6
1241  S_504_85 = 504, // $@85
1242  S_pool_params = 505, // pool_params
1243  S_pool_param = 506, // pool_param
1244  S_pool_entry = 507, // pool_entry
1245  S_508_86 = 508, // $@86
1246  S_user_context = 509, // user_context
1247  S_510_87 = 510, // $@87
1248  S_comment = 511, // comment
1249  S_512_88 = 512, // $@88
1250  S_pd_pools_list = 513, // pd_pools_list
1251  S_514_89 = 514, // $@89
1252  S_pd_pools_list_content = 515, // pd_pools_list_content
1253  S_not_empty_pd_pools_list = 516, // not_empty_pd_pools_list
1254  S_pd_pool_entry = 517, // pd_pool_entry
1255  S_518_90 = 518, // $@90
1256  S_sub_pd_pool = 519, // sub_pd_pool
1257  S_520_91 = 520, // $@91
1258  S_pd_pool_params = 521, // pd_pool_params
1259  S_pd_pool_param = 522, // pd_pool_param
1260  S_pd_prefix = 523, // pd_prefix
1261  S_524_92 = 524, // $@92
1262  S_pd_prefix_len = 525, // pd_prefix_len
1263  S_excluded_prefix = 526, // excluded_prefix
1264  S_527_93 = 527, // $@93
1265  S_excluded_prefix_len = 528, // excluded_prefix_len
1266  S_pd_delegated_len = 529, // pd_delegated_len
1267  S_reservations = 530, // reservations
1268  S_531_94 = 531, // $@94
1269  S_reservations_list = 532, // reservations_list
1270  S_not_empty_reservations_list = 533, // not_empty_reservations_list
1271  S_reservation = 534, // reservation
1272  S_535_95 = 535, // $@95
1273  S_sub_reservation = 536, // sub_reservation
1274  S_537_96 = 537, // $@96
1275  S_reservation_params = 538, // reservation_params
1276  S_not_empty_reservation_params = 539, // not_empty_reservation_params
1277  S_reservation_param = 540, // reservation_param
1278  S_ip_addresses = 541, // ip_addresses
1279  S_542_97 = 542, // $@97
1280  S_prefixes = 543, // prefixes
1281  S_544_98 = 544, // $@98
1282  S_duid = 545, // duid
1283  S_546_99 = 546, // $@99
1284  S_hw_address = 547, // hw_address
1285  S_548_100 = 548, // $@100
1286  S_hostname = 549, // hostname
1287  S_550_101 = 550, // $@101
1288  S_flex_id_value = 551, // flex_id_value
1289  S_552_102 = 552, // $@102
1290  S_reservation_client_classes = 553, // reservation_client_classes
1291  S_554_103 = 554, // $@103
1292  S_relay = 555, // relay
1293  S_556_104 = 556, // $@104
1294  S_relay_map = 557, // relay_map
1295  S_ip_address = 558, // ip_address
1296  S_559_105 = 559, // $@105
1297  S_client_classes = 560, // client_classes
1298  S_561_106 = 561, // $@106
1299  S_client_classes_list = 562, // client_classes_list
1300  S_client_class_entry = 563, // client_class_entry
1301  S_564_107 = 564, // $@107
1302  S_client_class_params = 565, // client_class_params
1303  S_not_empty_client_class_params = 566, // not_empty_client_class_params
1304  S_client_class_param = 567, // client_class_param
1305  S_client_class_name = 568, // client_class_name
1306  S_client_class_test = 569, // client_class_test
1307  S_570_108 = 570, // $@108
1308  S_client_class_template_test = 571, // client_class_template_test
1309  S_572_109 = 572, // $@109
1310  S_only_if_required = 573, // only_if_required
1311  S_server_id = 574, // server_id
1312  S_575_110 = 575, // $@110
1313  S_server_id_params = 576, // server_id_params
1314  S_server_id_param = 577, // server_id_param
1315  S_server_id_type = 578, // server_id_type
1316  S_579_111 = 579, // $@111
1317  S_duid_type = 580, // duid_type
1318  S_htype = 581, // htype
1319  S_identifier = 582, // identifier
1320  S_583_112 = 583, // $@112
1321  S_time = 584, // time
1322  S_enterprise_id = 585, // enterprise_id
1323  S_dhcp4o6_port = 586, // dhcp4o6_port
1324  S_control_socket = 587, // control_socket
1325  S_588_113 = 588, // $@113
1326  S_control_socket_params = 589, // control_socket_params
1327  S_control_socket_param = 590, // control_socket_param
1328  S_socket_type = 591, // socket_type
1329  S_592_114 = 592, // $@114
1330  S_socket_name = 593, // socket_name
1331  S_594_115 = 594, // $@115
1332  S_dhcp_queue_control = 595, // dhcp_queue_control
1333  S_596_116 = 596, // $@116
1334  S_queue_control_params = 597, // queue_control_params
1335  S_queue_control_param = 598, // queue_control_param
1336  S_enable_queue = 599, // enable_queue
1337  S_queue_type = 600, // queue_type
1338  S_601_117 = 601, // $@117
1339  S_capacity = 602, // capacity
1340  S_arbitrary_map_entry = 603, // arbitrary_map_entry
1341  S_604_118 = 604, // $@118
1342  S_dhcp_ddns = 605, // dhcp_ddns
1343  S_606_119 = 606, // $@119
1344  S_sub_dhcp_ddns = 607, // sub_dhcp_ddns
1345  S_608_120 = 608, // $@120
1346  S_dhcp_ddns_params = 609, // dhcp_ddns_params
1347  S_dhcp_ddns_param = 610, // dhcp_ddns_param
1348  S_enable_updates = 611, // enable_updates
1349  S_dep_qualifying_suffix = 612, // dep_qualifying_suffix
1350  S_613_121 = 613, // $@121
1351  S_server_ip = 614, // server_ip
1352  S_615_122 = 615, // $@122
1353  S_server_port = 616, // server_port
1354  S_sender_ip = 617, // sender_ip
1355  S_618_123 = 618, // $@123
1356  S_sender_port = 619, // sender_port
1357  S_max_queue_size = 620, // max_queue_size
1358  S_ncr_protocol = 621, // ncr_protocol
1359  S_622_124 = 622, // $@124
1360  S_ncr_protocol_value = 623, // ncr_protocol_value
1361  S_ncr_format = 624, // ncr_format
1362  S_625_125 = 625, // $@125
1363  S_dep_override_no_update = 626, // dep_override_no_update
1364  S_dep_override_client_update = 627, // dep_override_client_update
1365  S_dep_replace_client_name = 628, // dep_replace_client_name
1366  S_629_126 = 629, // $@126
1367  S_dep_generated_prefix = 630, // dep_generated_prefix
1368  S_631_127 = 631, // $@127
1369  S_dep_hostname_char_set = 632, // dep_hostname_char_set
1370  S_633_128 = 633, // $@128
1371  S_dep_hostname_char_replacement = 634, // dep_hostname_char_replacement
1372  S_635_129 = 635, // $@129
1373  S_config_control = 636, // config_control
1374  S_637_130 = 637, // $@130
1375  S_sub_config_control = 638, // sub_config_control
1376  S_639_131 = 639, // $@131
1377  S_config_control_params = 640, // config_control_params
1378  S_config_control_param = 641, // config_control_param
1379  S_config_databases = 642, // config_databases
1380  S_643_132 = 643, // $@132
1381  S_config_fetch_wait_time = 644, // config_fetch_wait_time
1382  S_loggers = 645, // loggers
1383  S_646_133 = 646, // $@133
1384  S_loggers_entries = 647, // loggers_entries
1385  S_logger_entry = 648, // logger_entry
1386  S_649_134 = 649, // $@134
1387  S_logger_params = 650, // logger_params
1388  S_logger_param = 651, // logger_param
1389  S_debuglevel = 652, // debuglevel
1390  S_severity = 653, // severity
1391  S_654_135 = 654, // $@135
1392  S_output_options_list = 655, // output_options_list
1393  S_656_136 = 656, // $@136
1394  S_output_options_list_content = 657, // output_options_list_content
1395  S_output_entry = 658, // output_entry
1396  S_659_137 = 659, // $@137
1397  S_output_params_list = 660, // output_params_list
1398  S_output_params = 661, // output_params
1399  S_output = 662, // output
1400  S_663_138 = 663, // $@138
1401  S_flush = 664, // flush
1402  S_maxsize = 665, // maxsize
1403  S_maxver = 666, // maxver
1404  S_pattern = 667, // pattern
1405  S_668_139 = 668, // $@139
1406  S_compatibility = 669, // compatibility
1407  S_670_140 = 670, // $@140
1408  S_compatibility_params = 671, // compatibility_params
1409  S_compatibility_param = 672, // compatibility_param
1410  S_lenient_option_parsing = 673 // lenient_option_parsing
1411  };
1412  };
1413 
1416 
1418  static const symbol_kind_type YYNTOKENS = symbol_kind::YYNTOKENS;
1419 
1426  template <typename Base>
1427  struct basic_symbol : Base
1428  {
1430  typedef Base super_type;
1431 
1434  : value ()
1435  , location ()
1436  {}
1437 
1438 #if 201103L <= YY_CPLUSPLUS
1439  basic_symbol (basic_symbol&& that)
1441  : Base (std::move (that))
1442  , value ()
1443  , location (std::move (that.location))
1444  {
1445  switch (this->kind ())
1446  {
1447  case symbol_kind::S_value: // value
1448  case symbol_kind::S_map_value: // map_value
1449  case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value
1450  case symbol_kind::S_db_type: // db_type
1451  case symbol_kind::S_on_fail_mode: // on_fail_mode
1452  case symbol_kind::S_hr_mode: // hr_mode
1453  case symbol_kind::S_duid_type: // duid_type
1454  case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value
1455  value.move< ElementPtr > (std::move (that.value));
1456  break;
1457 
1458  case symbol_kind::S_BOOLEAN: // "boolean"
1459  value.move< bool > (std::move (that.value));
1460  break;
1461 
1462  case symbol_kind::S_FLOAT: // "floating point"
1463  value.move< double > (std::move (that.value));
1464  break;
1465 
1466  case symbol_kind::S_INTEGER: // "integer"
1467  value.move< int64_t > (std::move (that.value));
1468  break;
1469 
1470  case symbol_kind::S_STRING: // "constant string"
1471  value.move< std::string > (std::move (that.value));
1472  break;
1473 
1474  default:
1475  break;
1476  }
1477 
1478  }
1479 #endif
1480 
1482  basic_symbol (const basic_symbol& that);
1483 
1485 #if 201103L <= YY_CPLUSPLUS
1486  basic_symbol (typename Base::kind_type t, location_type&& l)
1487  : Base (t)
1488  , location (std::move (l))
1489  {}
1490 #else
1491  basic_symbol (typename Base::kind_type t, const location_type& l)
1492  : Base (t)
1493  , location (l)
1494  {}
1495 #endif
1496 
1497 #if 201103L <= YY_CPLUSPLUS
1498  basic_symbol (typename Base::kind_type t, ElementPtr&& v, location_type&& l)
1499  : Base (t)
1500  , value (std::move (v))
1501  , location (std::move (l))
1502  {}
1503 #else
1504  basic_symbol (typename Base::kind_type t, const ElementPtr& v, const location_type& l)
1505  : Base (t)
1506  , value (v)
1507  , location (l)
1508  {}
1509 #endif
1510 
1511 #if 201103L <= YY_CPLUSPLUS
1512  basic_symbol (typename Base::kind_type t, bool&& v, location_type&& l)
1513  : Base (t)
1514  , value (std::move (v))
1515  , location (std::move (l))
1516  {}
1517 #else
1518  basic_symbol (typename Base::kind_type t, const bool& v, const location_type& l)
1519  : Base (t)
1520  , value (v)
1521  , location (l)
1522  {}
1523 #endif
1524 
1525 #if 201103L <= YY_CPLUSPLUS
1526  basic_symbol (typename Base::kind_type t, double&& v, location_type&& l)
1527  : Base (t)
1528  , value (std::move (v))
1529  , location (std::move (l))
1530  {}
1531 #else
1532  basic_symbol (typename Base::kind_type t, const double& v, const location_type& l)
1533  : Base (t)
1534  , value (v)
1535  , location (l)
1536  {}
1537 #endif
1538 
1539 #if 201103L <= YY_CPLUSPLUS
1540  basic_symbol (typename Base::kind_type t, int64_t&& v, location_type&& l)
1541  : Base (t)
1542  , value (std::move (v))
1543  , location (std::move (l))
1544  {}
1545 #else
1546  basic_symbol (typename Base::kind_type t, const int64_t& v, const location_type& l)
1547  : Base (t)
1548  , value (v)
1549  , location (l)
1550  {}
1551 #endif
1552 
1553 #if 201103L <= YY_CPLUSPLUS
1554  basic_symbol (typename Base::kind_type t, std::string&& v, location_type&& l)
1555  : Base (t)
1556  , value (std::move (v))
1557  , location (std::move (l))
1558  {}
1559 #else
1560  basic_symbol (typename Base::kind_type t, const std::string& v, const location_type& l)
1561  : Base (t)
1562  , value (v)
1563  , location (l)
1564  {}
1565 #endif
1566 
1569  {
1570  clear ();
1571  }
1572 
1573 
1574 
1577  {
1578  // User destructor.
1579  symbol_kind_type yykind = this->kind ();
1580  basic_symbol<Base>& yysym = *this;
1581  (void) yysym;
1582  switch (yykind)
1583  {
1584  default:
1585  break;
1586  }
1587 
1588  // Value type destructor.
1589 switch (yykind)
1590  {
1591  case symbol_kind::S_value: // value
1592  case symbol_kind::S_map_value: // map_value
1593  case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value
1594  case symbol_kind::S_db_type: // db_type
1595  case symbol_kind::S_on_fail_mode: // on_fail_mode
1596  case symbol_kind::S_hr_mode: // hr_mode
1597  case symbol_kind::S_duid_type: // duid_type
1598  case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value
1599  value.template destroy< ElementPtr > ();
1600  break;
1601 
1602  case symbol_kind::S_BOOLEAN: // "boolean"
1603  value.template destroy< bool > ();
1604  break;
1605 
1606  case symbol_kind::S_FLOAT: // "floating point"
1607  value.template destroy< double > ();
1608  break;
1609 
1610  case symbol_kind::S_INTEGER: // "integer"
1611  value.template destroy< int64_t > ();
1612  break;
1613 
1614  case symbol_kind::S_STRING: // "constant string"
1615  value.template destroy< std::string > ();
1616  break;
1617 
1618  default:
1619  break;
1620  }
1621 
1622  Base::clear ();
1623  }
1624 
1626  std::string name () const YY_NOEXCEPT
1627  {
1628  return Dhcp6Parser::symbol_name (this->kind ());
1629  }
1630 
1632  symbol_kind_type type_get () const YY_NOEXCEPT;
1633 
1635  bool empty () const YY_NOEXCEPT;
1636 
1638  void move (basic_symbol& s);
1639 
1641  value_type value;
1642 
1644  location_type location;
1645 
1646  private:
1647 #if YY_CPLUSPLUS < 201103L
1648  basic_symbol& operator= (const basic_symbol& that);
1650 #endif
1651  };
1652 
1654  struct by_kind
1655  {
1657  typedef token_kind_type kind_type;
1658 
1660  by_kind () YY_NOEXCEPT;
1661 
1662 #if 201103L <= YY_CPLUSPLUS
1663  by_kind (by_kind&& that) YY_NOEXCEPT;
1665 #endif
1666 
1668  by_kind (const by_kind& that) YY_NOEXCEPT;
1669 
1671  by_kind (kind_type t) YY_NOEXCEPT;
1672 
1673 
1674 
1676  void clear () YY_NOEXCEPT;
1677 
1679  void move (by_kind& that);
1680 
1683  symbol_kind_type kind () const YY_NOEXCEPT;
1684 
1686  symbol_kind_type type_get () const YY_NOEXCEPT;
1687 
1690  symbol_kind_type kind_;
1691  };
1692 
1694  typedef by_kind by_type;
1695 
1698  {
1701 
1703  symbol_type () YY_NOEXCEPT {}
1704 
1706 #if 201103L <= YY_CPLUSPLUS
1707  symbol_type (int tok, location_type l)
1708  : super_type (token_kind_type (tok), std::move (l))
1709 #else
1710  symbol_type (int tok, const location_type& l)
1711  : super_type (token_kind_type (tok), l)
1712 #endif
1713  {
1714 #if !defined _MSC_VER || defined __clang__
1715  PARSER6__ASSERT (tok == token::TOKEN_END
1716  || (token::TOKEN_PARSER6_error <= tok && tok <= token::TOKEN_SUB_CONFIG_CONTROL));
1717 #endif
1718  }
1719 #if 201103L <= YY_CPLUSPLUS
1720  symbol_type (int tok, bool v, location_type l)
1721  : super_type (token_kind_type (tok), std::move (v), std::move (l))
1722 #else
1723  symbol_type (int tok, const bool& v, const location_type& l)
1724  : super_type (token_kind_type (tok), v, l)
1725 #endif
1726  {
1727 #if !defined _MSC_VER || defined __clang__
1728  PARSER6__ASSERT (tok == token::TOKEN_BOOLEAN);
1729 #endif
1730  }
1731 #if 201103L <= YY_CPLUSPLUS
1732  symbol_type (int tok, double v, location_type l)
1733  : super_type (token_kind_type (tok), std::move (v), std::move (l))
1734 #else
1735  symbol_type (int tok, const double& v, const location_type& l)
1736  : super_type (token_kind_type (tok), v, l)
1737 #endif
1738  {
1739 #if !defined _MSC_VER || defined __clang__
1740  PARSER6__ASSERT (tok == token::TOKEN_FLOAT);
1741 #endif
1742  }
1743 #if 201103L <= YY_CPLUSPLUS
1744  symbol_type (int tok, int64_t v, location_type l)
1745  : super_type (token_kind_type (tok), std::move (v), std::move (l))
1746 #else
1747  symbol_type (int tok, const int64_t& v, const location_type& l)
1748  : super_type (token_kind_type (tok), v, l)
1749 #endif
1750  {
1751 #if !defined _MSC_VER || defined __clang__
1752  PARSER6__ASSERT (tok == token::TOKEN_INTEGER);
1753 #endif
1754  }
1755 #if 201103L <= YY_CPLUSPLUS
1756  symbol_type (int tok, std::string v, location_type l)
1757  : super_type (token_kind_type (tok), std::move (v), std::move (l))
1758 #else
1759  symbol_type (int tok, const std::string& v, const location_type& l)
1760  : super_type (token_kind_type (tok), v, l)
1761 #endif
1762  {
1763 #if !defined _MSC_VER || defined __clang__
1764  PARSER6__ASSERT (tok == token::TOKEN_STRING);
1765 #endif
1766  }
1767  };
1768 
1771  virtual ~Dhcp6Parser ();
1772 
1773 #if 201103L <= YY_CPLUSPLUS
1774  Dhcp6Parser (const Dhcp6Parser&) = delete;
1777  Dhcp6Parser& operator= (const Dhcp6Parser&) = delete;
1778 #endif
1779 
1782  int operator() ();
1783 
1786  virtual int parse ();
1787 
1788 #if PARSER6_DEBUG
1789  std::ostream& debug_stream () const YY_ATTRIBUTE_PURE;
1792  void set_debug_stream (std::ostream &);
1793 
1795  typedef int debug_level_type;
1797  debug_level_type debug_level () const YY_ATTRIBUTE_PURE;
1799  void set_debug_level (debug_level_type l);
1800 #endif
1801 
1805  virtual void error (const location_type& loc, const std::string& msg);
1806 
1808  void error (const syntax_error& err);
1809 
1812  static std::string symbol_name (symbol_kind_type yysymbol);
1813 
1814  // Implementation of make_symbol for each token kind.
1815 #if 201103L <= YY_CPLUSPLUS
1816  static
1817  symbol_type
1818  make_END (location_type l)
1819  {
1820  return symbol_type (token::TOKEN_END, std::move (l));
1821  }
1822 #else
1823  static
1824  symbol_type
1825  make_END (const location_type& l)
1826  {
1827  return symbol_type (token::TOKEN_END, l);
1828  }
1829 #endif
1830 #if 201103L <= YY_CPLUSPLUS
1831  static
1832  symbol_type
1833  make_PARSER6_error (location_type l)
1834  {
1835  return symbol_type (token::TOKEN_PARSER6_error, std::move (l));
1836  }
1837 #else
1838  static
1839  symbol_type
1840  make_PARSER6_error (const location_type& l)
1841  {
1842  return symbol_type (token::TOKEN_PARSER6_error, l);
1843  }
1844 #endif
1845 #if 201103L <= YY_CPLUSPLUS
1846  static
1847  symbol_type
1848  make_PARSER6_UNDEF (location_type l)
1849  {
1850  return symbol_type (token::TOKEN_PARSER6_UNDEF, std::move (l));
1851  }
1852 #else
1853  static
1854  symbol_type
1855  make_PARSER6_UNDEF (const location_type& l)
1856  {
1857  return symbol_type (token::TOKEN_PARSER6_UNDEF, l);
1858  }
1859 #endif
1860 #if 201103L <= YY_CPLUSPLUS
1861  static
1862  symbol_type
1863  make_COMMA (location_type l)
1864  {
1865  return symbol_type (token::TOKEN_COMMA, std::move (l));
1866  }
1867 #else
1868  static
1869  symbol_type
1870  make_COMMA (const location_type& l)
1871  {
1872  return symbol_type (token::TOKEN_COMMA, l);
1873  }
1874 #endif
1875 #if 201103L <= YY_CPLUSPLUS
1876  static
1877  symbol_type
1878  make_COLON (location_type l)
1879  {
1880  return symbol_type (token::TOKEN_COLON, std::move (l));
1881  }
1882 #else
1883  static
1884  symbol_type
1885  make_COLON (const location_type& l)
1886  {
1887  return symbol_type (token::TOKEN_COLON, l);
1888  }
1889 #endif
1890 #if 201103L <= YY_CPLUSPLUS
1891  static
1892  symbol_type
1893  make_LSQUARE_BRACKET (location_type l)
1894  {
1895  return symbol_type (token::TOKEN_LSQUARE_BRACKET, std::move (l));
1896  }
1897 #else
1898  static
1899  symbol_type
1900  make_LSQUARE_BRACKET (const location_type& l)
1901  {
1902  return symbol_type (token::TOKEN_LSQUARE_BRACKET, l);
1903  }
1904 #endif
1905 #if 201103L <= YY_CPLUSPLUS
1906  static
1907  symbol_type
1908  make_RSQUARE_BRACKET (location_type l)
1909  {
1910  return symbol_type (token::TOKEN_RSQUARE_BRACKET, std::move (l));
1911  }
1912 #else
1913  static
1914  symbol_type
1915  make_RSQUARE_BRACKET (const location_type& l)
1916  {
1917  return symbol_type (token::TOKEN_RSQUARE_BRACKET, l);
1918  }
1919 #endif
1920 #if 201103L <= YY_CPLUSPLUS
1921  static
1922  symbol_type
1923  make_LCURLY_BRACKET (location_type l)
1924  {
1925  return symbol_type (token::TOKEN_LCURLY_BRACKET, std::move (l));
1926  }
1927 #else
1928  static
1929  symbol_type
1930  make_LCURLY_BRACKET (const location_type& l)
1931  {
1932  return symbol_type (token::TOKEN_LCURLY_BRACKET, l);
1933  }
1934 #endif
1935 #if 201103L <= YY_CPLUSPLUS
1936  static
1937  symbol_type
1938  make_RCURLY_BRACKET (location_type l)
1939  {
1940  return symbol_type (token::TOKEN_RCURLY_BRACKET, std::move (l));
1941  }
1942 #else
1943  static
1944  symbol_type
1945  make_RCURLY_BRACKET (const location_type& l)
1946  {
1947  return symbol_type (token::TOKEN_RCURLY_BRACKET, l);
1948  }
1949 #endif
1950 #if 201103L <= YY_CPLUSPLUS
1951  static
1952  symbol_type
1953  make_NULL_TYPE (location_type l)
1954  {
1955  return symbol_type (token::TOKEN_NULL_TYPE, std::move (l));
1956  }
1957 #else
1958  static
1959  symbol_type
1960  make_NULL_TYPE (const location_type& l)
1961  {
1962  return symbol_type (token::TOKEN_NULL_TYPE, l);
1963  }
1964 #endif
1965 #if 201103L <= YY_CPLUSPLUS
1966  static
1967  symbol_type
1968  make_DHCP6 (location_type l)
1969  {
1970  return symbol_type (token::TOKEN_DHCP6, std::move (l));
1971  }
1972 #else
1973  static
1974  symbol_type
1975  make_DHCP6 (const location_type& l)
1976  {
1977  return symbol_type (token::TOKEN_DHCP6, l);
1978  }
1979 #endif
1980 #if 201103L <= YY_CPLUSPLUS
1981  static
1982  symbol_type
1983  make_DATA_DIRECTORY (location_type l)
1984  {
1985  return symbol_type (token::TOKEN_DATA_DIRECTORY, std::move (l));
1986  }
1987 #else
1988  static
1989  symbol_type
1990  make_DATA_DIRECTORY (const location_type& l)
1991  {
1992  return symbol_type (token::TOKEN_DATA_DIRECTORY, l);
1993  }
1994 #endif
1995 #if 201103L <= YY_CPLUSPLUS
1996  static
1997  symbol_type
1998  make_CONFIG_CONTROL (location_type l)
1999  {
2000  return symbol_type (token::TOKEN_CONFIG_CONTROL, std::move (l));
2001  }
2002 #else
2003  static
2004  symbol_type
2005  make_CONFIG_CONTROL (const location_type& l)
2006  {
2007  return symbol_type (token::TOKEN_CONFIG_CONTROL, l);
2008  }
2009 #endif
2010 #if 201103L <= YY_CPLUSPLUS
2011  static
2012  symbol_type
2013  make_CONFIG_DATABASES (location_type l)
2014  {
2015  return symbol_type (token::TOKEN_CONFIG_DATABASES, std::move (l));
2016  }
2017 #else
2018  static
2019  symbol_type
2020  make_CONFIG_DATABASES (const location_type& l)
2021  {
2022  return symbol_type (token::TOKEN_CONFIG_DATABASES, l);
2023  }
2024 #endif
2025 #if 201103L <= YY_CPLUSPLUS
2026  static
2027  symbol_type
2028  make_CONFIG_FETCH_WAIT_TIME (location_type l)
2029  {
2030  return symbol_type (token::TOKEN_CONFIG_FETCH_WAIT_TIME, std::move (l));
2031  }
2032 #else
2033  static
2034  symbol_type
2035  make_CONFIG_FETCH_WAIT_TIME (const location_type& l)
2036  {
2037  return symbol_type (token::TOKEN_CONFIG_FETCH_WAIT_TIME, l);
2038  }
2039 #endif
2040 #if 201103L <= YY_CPLUSPLUS
2041  static
2042  symbol_type
2043  make_INTERFACES_CONFIG (location_type l)
2044  {
2045  return symbol_type (token::TOKEN_INTERFACES_CONFIG, std::move (l));
2046  }
2047 #else
2048  static
2049  symbol_type
2050  make_INTERFACES_CONFIG (const location_type& l)
2051  {
2052  return symbol_type (token::TOKEN_INTERFACES_CONFIG, l);
2053  }
2054 #endif
2055 #if 201103L <= YY_CPLUSPLUS
2056  static
2057  symbol_type
2058  make_INTERFACES (location_type l)
2059  {
2060  return symbol_type (token::TOKEN_INTERFACES, std::move (l));
2061  }
2062 #else
2063  static
2064  symbol_type
2065  make_INTERFACES (const location_type& l)
2066  {
2067  return symbol_type (token::TOKEN_INTERFACES, l);
2068  }
2069 #endif
2070 #if 201103L <= YY_CPLUSPLUS
2071  static
2072  symbol_type
2073  make_RE_DETECT (location_type l)
2074  {
2075  return symbol_type (token::TOKEN_RE_DETECT, std::move (l));
2076  }
2077 #else
2078  static
2079  symbol_type
2080  make_RE_DETECT (const location_type& l)
2081  {
2082  return symbol_type (token::TOKEN_RE_DETECT, l);
2083  }
2084 #endif
2085 #if 201103L <= YY_CPLUSPLUS
2086  static
2087  symbol_type
2088  make_SERVICE_SOCKETS_REQUIRE_ALL (location_type l)
2089  {
2090  return symbol_type (token::TOKEN_SERVICE_SOCKETS_REQUIRE_ALL, std::move (l));
2091  }
2092 #else
2093  static
2094  symbol_type
2095  make_SERVICE_SOCKETS_REQUIRE_ALL (const location_type& l)
2096  {
2097  return symbol_type (token::TOKEN_SERVICE_SOCKETS_REQUIRE_ALL, l);
2098  }
2099 #endif
2100 #if 201103L <= YY_CPLUSPLUS
2101  static
2102  symbol_type
2103  make_SERVICE_SOCKETS_RETRY_WAIT_TIME (location_type l)
2104  {
2105  return symbol_type (token::TOKEN_SERVICE_SOCKETS_RETRY_WAIT_TIME, std::move (l));
2106  }
2107 #else
2108  static
2109  symbol_type
2110  make_SERVICE_SOCKETS_RETRY_WAIT_TIME (const location_type& l)
2111  {
2112  return symbol_type (token::TOKEN_SERVICE_SOCKETS_RETRY_WAIT_TIME, l);
2113  }
2114 #endif
2115 #if 201103L <= YY_CPLUSPLUS
2116  static
2117  symbol_type
2118  make_SERVICE_SOCKETS_MAX_RETRIES (location_type l)
2119  {
2120  return symbol_type (token::TOKEN_SERVICE_SOCKETS_MAX_RETRIES, std::move (l));
2121  }
2122 #else
2123  static
2124  symbol_type
2125  make_SERVICE_SOCKETS_MAX_RETRIES (const location_type& l)
2126  {
2127  return symbol_type (token::TOKEN_SERVICE_SOCKETS_MAX_RETRIES, l);
2128  }
2129 #endif
2130 #if 201103L <= YY_CPLUSPLUS
2131  static
2132  symbol_type
2133  make_LEASE_DATABASE (location_type l)
2134  {
2135  return symbol_type (token::TOKEN_LEASE_DATABASE, std::move (l));
2136  }
2137 #else
2138  static
2139  symbol_type
2140  make_LEASE_DATABASE (const location_type& l)
2141  {
2142  return symbol_type (token::TOKEN_LEASE_DATABASE, l);
2143  }
2144 #endif
2145 #if 201103L <= YY_CPLUSPLUS
2146  static
2147  symbol_type
2148  make_HOSTS_DATABASE (location_type l)
2149  {
2150  return symbol_type (token::TOKEN_HOSTS_DATABASE, std::move (l));
2151  }
2152 #else
2153  static
2154  symbol_type
2155  make_HOSTS_DATABASE (const location_type& l)
2156  {
2157  return symbol_type (token::TOKEN_HOSTS_DATABASE, l);
2158  }
2159 #endif
2160 #if 201103L <= YY_CPLUSPLUS
2161  static
2162  symbol_type
2163  make_HOSTS_DATABASES (location_type l)
2164  {
2165  return symbol_type (token::TOKEN_HOSTS_DATABASES, std::move (l));
2166  }
2167 #else
2168  static
2169  symbol_type
2170  make_HOSTS_DATABASES (const location_type& l)
2171  {
2172  return symbol_type (token::TOKEN_HOSTS_DATABASES, l);
2173  }
2174 #endif
2175 #if 201103L <= YY_CPLUSPLUS
2176  static
2177  symbol_type
2178  make_TYPE (location_type l)
2179  {
2180  return symbol_type (token::TOKEN_TYPE, std::move (l));
2181  }
2182 #else
2183  static
2184  symbol_type
2185  make_TYPE (const location_type& l)
2186  {
2187  return symbol_type (token::TOKEN_TYPE, l);
2188  }
2189 #endif
2190 #if 201103L <= YY_CPLUSPLUS
2191  static
2192  symbol_type
2193  make_MEMFILE (location_type l)
2194  {
2195  return symbol_type (token::TOKEN_MEMFILE, std::move (l));
2196  }
2197 #else
2198  static
2199  symbol_type
2200  make_MEMFILE (const location_type& l)
2201  {
2202  return symbol_type (token::TOKEN_MEMFILE, l);
2203  }
2204 #endif
2205 #if 201103L <= YY_CPLUSPLUS
2206  static
2207  symbol_type
2208  make_MYSQL (location_type l)
2209  {
2210  return symbol_type (token::TOKEN_MYSQL, std::move (l));
2211  }
2212 #else
2213  static
2214  symbol_type
2215  make_MYSQL (const location_type& l)
2216  {
2217  return symbol_type (token::TOKEN_MYSQL, l);
2218  }
2219 #endif
2220 #if 201103L <= YY_CPLUSPLUS
2221  static
2222  symbol_type
2223  make_POSTGRESQL (location_type l)
2224  {
2225  return symbol_type (token::TOKEN_POSTGRESQL, std::move (l));
2226  }
2227 #else
2228  static
2229  symbol_type
2230  make_POSTGRESQL (const location_type& l)
2231  {
2232  return symbol_type (token::TOKEN_POSTGRESQL, l);
2233  }
2234 #endif
2235 #if 201103L <= YY_CPLUSPLUS
2236  static
2237  symbol_type
2238  make_USER (location_type l)
2239  {
2240  return symbol_type (token::TOKEN_USER, std::move (l));
2241  }
2242 #else
2243  static
2244  symbol_type
2245  make_USER (const location_type& l)
2246  {
2247  return symbol_type (token::TOKEN_USER, l);
2248  }
2249 #endif
2250 #if 201103L <= YY_CPLUSPLUS
2251  static
2252  symbol_type
2253  make_PASSWORD (location_type l)
2254  {
2255  return symbol_type (token::TOKEN_PASSWORD, std::move (l));
2256  }
2257 #else
2258  static
2259  symbol_type
2260  make_PASSWORD (const location_type& l)
2261  {
2262  return symbol_type (token::TOKEN_PASSWORD, l);
2263  }
2264 #endif
2265 #if 201103L <= YY_CPLUSPLUS
2266  static
2267  symbol_type
2268  make_HOST (location_type l)
2269  {
2270  return symbol_type (token::TOKEN_HOST, std::move (l));
2271  }
2272 #else
2273  static
2274  symbol_type
2275  make_HOST (const location_type& l)
2276  {
2277  return symbol_type (token::TOKEN_HOST, l);
2278  }
2279 #endif
2280 #if 201103L <= YY_CPLUSPLUS
2281  static
2282  symbol_type
2283  make_PORT (location_type l)
2284  {
2285  return symbol_type (token::TOKEN_PORT, std::move (l));
2286  }
2287 #else
2288  static
2289  symbol_type
2290  make_PORT (const location_type& l)
2291  {
2292  return symbol_type (token::TOKEN_PORT, l);
2293  }
2294 #endif
2295 #if 201103L <= YY_CPLUSPLUS
2296  static
2297  symbol_type
2298  make_PERSIST (location_type l)
2299  {
2300  return symbol_type (token::TOKEN_PERSIST, std::move (l));
2301  }
2302 #else
2303  static
2304  symbol_type
2305  make_PERSIST (const location_type& l)
2306  {
2307  return symbol_type (token::TOKEN_PERSIST, l);
2308  }
2309 #endif
2310 #if 201103L <= YY_CPLUSPLUS
2311  static
2312  symbol_type
2313  make_LFC_INTERVAL (location_type l)
2314  {
2315  return symbol_type (token::TOKEN_LFC_INTERVAL, std::move (l));
2316  }
2317 #else
2318  static
2319  symbol_type
2320  make_LFC_INTERVAL (const location_type& l)
2321  {
2322  return symbol_type (token::TOKEN_LFC_INTERVAL, l);
2323  }
2324 #endif
2325 #if 201103L <= YY_CPLUSPLUS
2326  static
2327  symbol_type
2328  make_READONLY (location_type l)
2329  {
2330  return symbol_type (token::TOKEN_READONLY, std::move (l));
2331  }
2332 #else
2333  static
2334  symbol_type
2335  make_READONLY (const location_type& l)
2336  {
2337  return symbol_type (token::TOKEN_READONLY, l);
2338  }
2339 #endif
2340 #if 201103L <= YY_CPLUSPLUS
2341  static
2342  symbol_type
2343  make_CONNECT_TIMEOUT (location_type l)
2344  {
2345  return symbol_type (token::TOKEN_CONNECT_TIMEOUT, std::move (l));
2346  }
2347 #else
2348  static
2349  symbol_type
2350  make_CONNECT_TIMEOUT (const location_type& l)
2351  {
2352  return symbol_type (token::TOKEN_CONNECT_TIMEOUT, l);
2353  }
2354 #endif
2355 #if 201103L <= YY_CPLUSPLUS
2356  static
2357  symbol_type
2358  make_READ_TIMEOUT (location_type l)
2359  {
2360  return symbol_type (token::TOKEN_READ_TIMEOUT, std::move (l));
2361  }
2362 #else
2363  static
2364  symbol_type
2365  make_READ_TIMEOUT (const location_type& l)
2366  {
2367  return symbol_type (token::TOKEN_READ_TIMEOUT, l);
2368  }
2369 #endif
2370 #if 201103L <= YY_CPLUSPLUS
2371  static
2372  symbol_type
2373  make_WRITE_TIMEOUT (location_type l)
2374  {
2375  return symbol_type (token::TOKEN_WRITE_TIMEOUT, std::move (l));
2376  }
2377 #else
2378  static
2379  symbol_type
2380  make_WRITE_TIMEOUT (const location_type& l)
2381  {
2382  return symbol_type (token::TOKEN_WRITE_TIMEOUT, l);
2383  }
2384 #endif
2385 #if 201103L <= YY_CPLUSPLUS
2386  static
2387  symbol_type
2388  make_TCP_USER_TIMEOUT (location_type l)
2389  {
2390  return symbol_type (token::TOKEN_TCP_USER_TIMEOUT, std::move (l));
2391  }
2392 #else
2393  static
2394  symbol_type
2395  make_TCP_USER_TIMEOUT (const location_type& l)
2396  {
2397  return symbol_type (token::TOKEN_TCP_USER_TIMEOUT, l);
2398  }
2399 #endif
2400 #if 201103L <= YY_CPLUSPLUS
2401  static
2402  symbol_type
2403  make_MAX_RECONNECT_TRIES (location_type l)
2404  {
2405  return symbol_type (token::TOKEN_MAX_RECONNECT_TRIES, std::move (l));
2406  }
2407 #else
2408  static
2409  symbol_type
2410  make_MAX_RECONNECT_TRIES (const location_type& l)
2411  {
2412  return symbol_type (token::TOKEN_MAX_RECONNECT_TRIES, l);
2413  }
2414 #endif
2415 #if 201103L <= YY_CPLUSPLUS
2416  static
2417  symbol_type
2418  make_RECONNECT_WAIT_TIME (location_type l)
2419  {
2420  return symbol_type (token::TOKEN_RECONNECT_WAIT_TIME, std::move (l));
2421  }
2422 #else
2423  static
2424  symbol_type
2425  make_RECONNECT_WAIT_TIME (const location_type& l)
2426  {
2427  return symbol_type (token::TOKEN_RECONNECT_WAIT_TIME, l);
2428  }
2429 #endif
2430 #if 201103L <= YY_CPLUSPLUS
2431  static
2432  symbol_type
2433  make_ON_FAIL (location_type l)
2434  {
2435  return symbol_type (token::TOKEN_ON_FAIL, std::move (l));
2436  }
2437 #else
2438  static
2439  symbol_type
2440  make_ON_FAIL (const location_type& l)
2441  {
2442  return symbol_type (token::TOKEN_ON_FAIL, l);
2443  }
2444 #endif
2445 #if 201103L <= YY_CPLUSPLUS
2446  static
2447  symbol_type
2448  make_STOP_RETRY_EXIT (location_type l)
2449  {
2450  return symbol_type (token::TOKEN_STOP_RETRY_EXIT, std::move (l));
2451  }
2452 #else
2453  static
2454  symbol_type
2455  make_STOP_RETRY_EXIT (const location_type& l)
2456  {
2457  return symbol_type (token::TOKEN_STOP_RETRY_EXIT, l);
2458  }
2459 #endif
2460 #if 201103L <= YY_CPLUSPLUS
2461  static
2462  symbol_type
2463  make_SERVE_RETRY_EXIT (location_type l)
2464  {
2465  return symbol_type (token::TOKEN_SERVE_RETRY_EXIT, std::move (l));
2466  }
2467 #else
2468  static
2469  symbol_type
2470  make_SERVE_RETRY_EXIT (const location_type& l)
2471  {
2472  return symbol_type (token::TOKEN_SERVE_RETRY_EXIT, l);
2473  }
2474 #endif
2475 #if 201103L <= YY_CPLUSPLUS
2476  static
2477  symbol_type
2478  make_SERVE_RETRY_CONTINUE (location_type l)
2479  {
2480  return symbol_type (token::TOKEN_SERVE_RETRY_CONTINUE, std::move (l));
2481  }
2482 #else
2483  static
2484  symbol_type
2485  make_SERVE_RETRY_CONTINUE (const location_type& l)
2486  {
2487  return symbol_type (token::TOKEN_SERVE_RETRY_CONTINUE, l);
2488  }
2489 #endif
2490 #if 201103L <= YY_CPLUSPLUS
2491  static
2492  symbol_type
2493  make_MAX_ROW_ERRORS (location_type l)
2494  {
2495  return symbol_type (token::TOKEN_MAX_ROW_ERRORS, std::move (l));
2496  }
2497 #else
2498  static
2499  symbol_type
2500  make_MAX_ROW_ERRORS (const location_type& l)
2501  {
2502  return symbol_type (token::TOKEN_MAX_ROW_ERRORS, l);
2503  }
2504 #endif
2505 #if 201103L <= YY_CPLUSPLUS
2506  static
2507  symbol_type
2508  make_TRUST_ANCHOR (location_type l)
2509  {
2510  return symbol_type (token::TOKEN_TRUST_ANCHOR, std::move (l));
2511  }
2512 #else
2513  static
2514  symbol_type
2515  make_TRUST_ANCHOR (const location_type& l)
2516  {
2517  return symbol_type (token::TOKEN_TRUST_ANCHOR, l);
2518  }
2519 #endif
2520 #if 201103L <= YY_CPLUSPLUS
2521  static
2522  symbol_type
2523  make_CERT_FILE (location_type l)
2524  {
2525  return symbol_type (token::TOKEN_CERT_FILE, std::move (l));
2526  }
2527 #else
2528  static
2529  symbol_type
2530  make_CERT_FILE (const location_type& l)
2531  {
2532  return symbol_type (token::TOKEN_CERT_FILE, l);
2533  }
2534 #endif
2535 #if 201103L <= YY_CPLUSPLUS
2536  static
2537  symbol_type
2538  make_KEY_FILE (location_type l)
2539  {
2540  return symbol_type (token::TOKEN_KEY_FILE, std::move (l));
2541  }
2542 #else
2543  static
2544  symbol_type
2545  make_KEY_FILE (const location_type& l)
2546  {
2547  return symbol_type (token::TOKEN_KEY_FILE, l);
2548  }
2549 #endif
2550 #if 201103L <= YY_CPLUSPLUS
2551  static
2552  symbol_type
2553  make_CIPHER_LIST (location_type l)
2554  {
2555  return symbol_type (token::TOKEN_CIPHER_LIST, std::move (l));
2556  }
2557 #else
2558  static
2559  symbol_type
2560  make_CIPHER_LIST (const location_type& l)
2561  {
2562  return symbol_type (token::TOKEN_CIPHER_LIST, l);
2563  }
2564 #endif
2565 #if 201103L <= YY_CPLUSPLUS
2566  static
2567  symbol_type
2568  make_PREFERRED_LIFETIME (location_type l)
2569  {
2570  return symbol_type (token::TOKEN_PREFERRED_LIFETIME, std::move (l));
2571  }
2572 #else
2573  static
2574  symbol_type
2575  make_PREFERRED_LIFETIME (const location_type& l)
2576  {
2577  return symbol_type (token::TOKEN_PREFERRED_LIFETIME, l);
2578  }
2579 #endif
2580 #if 201103L <= YY_CPLUSPLUS
2581  static
2582  symbol_type
2583  make_MIN_PREFERRED_LIFETIME (location_type l)
2584  {
2585  return symbol_type (token::TOKEN_MIN_PREFERRED_LIFETIME, std::move (l));
2586  }
2587 #else
2588  static
2589  symbol_type
2590  make_MIN_PREFERRED_LIFETIME (const location_type& l)
2591  {
2592  return symbol_type (token::TOKEN_MIN_PREFERRED_LIFETIME, l);
2593  }
2594 #endif
2595 #if 201103L <= YY_CPLUSPLUS
2596  static
2597  symbol_type
2598  make_MAX_PREFERRED_LIFETIME (location_type l)
2599  {
2600  return symbol_type (token::TOKEN_MAX_PREFERRED_LIFETIME, std::move (l));
2601  }
2602 #else
2603  static
2604  symbol_type
2605  make_MAX_PREFERRED_LIFETIME (const location_type& l)
2606  {
2607  return symbol_type (token::TOKEN_MAX_PREFERRED_LIFETIME, l);
2608  }
2609 #endif
2610 #if 201103L <= YY_CPLUSPLUS
2611  static
2612  symbol_type
2613  make_VALID_LIFETIME (location_type l)
2614  {
2615  return symbol_type (token::TOKEN_VALID_LIFETIME, std::move (l));
2616  }
2617 #else
2618  static
2619  symbol_type
2620  make_VALID_LIFETIME (const location_type& l)
2621  {
2622  return symbol_type (token::TOKEN_VALID_LIFETIME, l);
2623  }
2624 #endif
2625 #if 201103L <= YY_CPLUSPLUS
2626  static
2627  symbol_type
2628  make_MIN_VALID_LIFETIME (location_type l)
2629  {
2630  return symbol_type (token::TOKEN_MIN_VALID_LIFETIME, std::move (l));
2631  }
2632 #else
2633  static
2634  symbol_type
2635  make_MIN_VALID_LIFETIME (const location_type& l)
2636  {
2637  return symbol_type (token::TOKEN_MIN_VALID_LIFETIME, l);
2638  }
2639 #endif
2640 #if 201103L <= YY_CPLUSPLUS
2641  static
2642  symbol_type
2643  make_MAX_VALID_LIFETIME (location_type l)
2644  {
2645  return symbol_type (token::TOKEN_MAX_VALID_LIFETIME, std::move (l));
2646  }
2647 #else
2648  static
2649  symbol_type
2650  make_MAX_VALID_LIFETIME (const location_type& l)
2651  {
2652  return symbol_type (token::TOKEN_MAX_VALID_LIFETIME, l);
2653  }
2654 #endif
2655 #if 201103L <= YY_CPLUSPLUS
2656  static
2657  symbol_type
2658  make_RENEW_TIMER (location_type l)
2659  {
2660  return symbol_type (token::TOKEN_RENEW_TIMER, std::move (l));
2661  }
2662 #else
2663  static
2664  symbol_type
2665  make_RENEW_TIMER (const location_type& l)
2666  {
2667  return symbol_type (token::TOKEN_RENEW_TIMER, l);
2668  }
2669 #endif
2670 #if 201103L <= YY_CPLUSPLUS
2671  static
2672  symbol_type
2673  make_REBIND_TIMER (location_type l)
2674  {
2675  return symbol_type (token::TOKEN_REBIND_TIMER, std::move (l));
2676  }
2677 #else
2678  static
2679  symbol_type
2680  make_REBIND_TIMER (const location_type& l)
2681  {
2682  return symbol_type (token::TOKEN_REBIND_TIMER, l);
2683  }
2684 #endif
2685 #if 201103L <= YY_CPLUSPLUS
2686  static
2687  symbol_type
2688  make_CALCULATE_TEE_TIMES (location_type l)
2689  {
2690  return symbol_type (token::TOKEN_CALCULATE_TEE_TIMES, std::move (l));
2691  }
2692 #else
2693  static
2694  symbol_type
2695  make_CALCULATE_TEE_TIMES (const location_type& l)
2696  {
2697  return symbol_type (token::TOKEN_CALCULATE_TEE_TIMES, l);
2698  }
2699 #endif
2700 #if 201103L <= YY_CPLUSPLUS
2701  static
2702  symbol_type
2703  make_T1_PERCENT (location_type l)
2704  {
2705  return symbol_type (token::TOKEN_T1_PERCENT, std::move (l));
2706  }
2707 #else
2708  static
2709  symbol_type
2710  make_T1_PERCENT (const location_type& l)
2711  {
2712  return symbol_type (token::TOKEN_T1_PERCENT, l);
2713  }
2714 #endif
2715 #if 201103L <= YY_CPLUSPLUS
2716  static
2717  symbol_type
2718  make_T2_PERCENT (location_type l)
2719  {
2720  return symbol_type (token::TOKEN_T2_PERCENT, std::move (l));
2721  }
2722 #else
2723  static
2724  symbol_type
2725  make_T2_PERCENT (const location_type& l)
2726  {
2727  return symbol_type (token::TOKEN_T2_PERCENT, l);
2728  }
2729 #endif
2730 #if 201103L <= YY_CPLUSPLUS
2731  static
2732  symbol_type
2733  make_CACHE_THRESHOLD (location_type l)
2734  {
2735  return symbol_type (token::TOKEN_CACHE_THRESHOLD, std::move (l));
2736  }
2737 #else
2738  static
2739  symbol_type
2740  make_CACHE_THRESHOLD (const location_type& l)
2741  {
2742  return symbol_type (token::TOKEN_CACHE_THRESHOLD, l);
2743  }
2744 #endif
2745 #if 201103L <= YY_CPLUSPLUS
2746  static
2747  symbol_type
2748  make_CACHE_MAX_AGE (location_type l)
2749  {
2750  return symbol_type (token::TOKEN_CACHE_MAX_AGE, std::move (l));
2751  }
2752 #else
2753  static
2754  symbol_type
2755  make_CACHE_MAX_AGE (const location_type& l)
2756  {
2757  return symbol_type (token::TOKEN_CACHE_MAX_AGE, l);
2758  }
2759 #endif
2760 #if 201103L <= YY_CPLUSPLUS
2761  static
2762  symbol_type
2763  make_DECLINE_PROBATION_PERIOD (location_type l)
2764  {
2765  return symbol_type (token::TOKEN_DECLINE_PROBATION_PERIOD, std::move (l));
2766  }
2767 #else
2768  static
2769  symbol_type
2770  make_DECLINE_PROBATION_PERIOD (const location_type& l)
2771  {
2772  return symbol_type (token::TOKEN_DECLINE_PROBATION_PERIOD, l);
2773  }
2774 #endif
2775 #if 201103L <= YY_CPLUSPLUS
2776  static
2777  symbol_type
2778  make_SERVER_TAG (location_type l)
2779  {
2780  return symbol_type (token::TOKEN_SERVER_TAG, std::move (l));
2781  }
2782 #else
2783  static
2784  symbol_type
2785  make_SERVER_TAG (const location_type& l)
2786  {
2787  return symbol_type (token::TOKEN_SERVER_TAG, l);
2788  }
2789 #endif
2790 #if 201103L <= YY_CPLUSPLUS
2791  static
2792  symbol_type
2793  make_STATISTIC_DEFAULT_SAMPLE_COUNT (location_type l)
2794  {
2795  return symbol_type (token::TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT, std::move (l));
2796  }
2797 #else
2798  static
2799  symbol_type
2800  make_STATISTIC_DEFAULT_SAMPLE_COUNT (const location_type& l)
2801  {
2802  return symbol_type (token::TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT, l);
2803  }
2804 #endif
2805 #if 201103L <= YY_CPLUSPLUS
2806  static
2807  symbol_type
2808  make_STATISTIC_DEFAULT_SAMPLE_AGE (location_type l)
2809  {
2810  return symbol_type (token::TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE, std::move (l));
2811  }
2812 #else
2813  static
2814  symbol_type
2815  make_STATISTIC_DEFAULT_SAMPLE_AGE (const location_type& l)
2816  {
2817  return symbol_type (token::TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE, l);
2818  }
2819 #endif
2820 #if 201103L <= YY_CPLUSPLUS
2821  static
2822  symbol_type
2823  make_DDNS_SEND_UPDATES (location_type l)
2824  {
2825  return symbol_type (token::TOKEN_DDNS_SEND_UPDATES, std::move (l));
2826  }
2827 #else
2828  static
2829  symbol_type
2830  make_DDNS_SEND_UPDATES (const location_type& l)
2831  {
2832  return symbol_type (token::TOKEN_DDNS_SEND_UPDATES, l);
2833  }
2834 #endif
2835 #if 201103L <= YY_CPLUSPLUS
2836  static
2837  symbol_type
2838  make_DDNS_OVERRIDE_NO_UPDATE (location_type l)
2839  {
2840  return symbol_type (token::TOKEN_DDNS_OVERRIDE_NO_UPDATE, std::move (l));
2841  }
2842 #else
2843  static
2844  symbol_type
2845  make_DDNS_OVERRIDE_NO_UPDATE (const location_type& l)
2846  {
2847  return symbol_type (token::TOKEN_DDNS_OVERRIDE_NO_UPDATE, l);
2848  }
2849 #endif
2850 #if 201103L <= YY_CPLUSPLUS
2851  static
2852  symbol_type
2853  make_DDNS_OVERRIDE_CLIENT_UPDATE (location_type l)
2854  {
2855  return symbol_type (token::TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE, std::move (l));
2856  }
2857 #else
2858  static
2859  symbol_type
2860  make_DDNS_OVERRIDE_CLIENT_UPDATE (const location_type& l)
2861  {
2862  return symbol_type (token::TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE, l);
2863  }
2864 #endif
2865 #if 201103L <= YY_CPLUSPLUS
2866  static
2867  symbol_type
2868  make_DDNS_REPLACE_CLIENT_NAME (location_type l)
2869  {
2870  return symbol_type (token::TOKEN_DDNS_REPLACE_CLIENT_NAME, std::move (l));
2871  }
2872 #else
2873  static
2874  symbol_type
2875  make_DDNS_REPLACE_CLIENT_NAME (const location_type& l)
2876  {
2877  return symbol_type (token::TOKEN_DDNS_REPLACE_CLIENT_NAME, l);
2878  }
2879 #endif
2880 #if 201103L <= YY_CPLUSPLUS
2881  static
2882  symbol_type
2883  make_DDNS_GENERATED_PREFIX (location_type l)
2884  {
2885  return symbol_type (token::TOKEN_DDNS_GENERATED_PREFIX, std::move (l));
2886  }
2887 #else
2888  static
2889  symbol_type
2890  make_DDNS_GENERATED_PREFIX (const location_type& l)
2891  {
2892  return symbol_type (token::TOKEN_DDNS_GENERATED_PREFIX, l);
2893  }
2894 #endif
2895 #if 201103L <= YY_CPLUSPLUS
2896  static
2897  symbol_type
2898  make_DDNS_QUALIFYING_SUFFIX (location_type l)
2899  {
2900  return symbol_type (token::TOKEN_DDNS_QUALIFYING_SUFFIX, std::move (l));
2901  }
2902 #else
2903  static
2904  symbol_type
2905  make_DDNS_QUALIFYING_SUFFIX (const location_type& l)
2906  {
2907  return symbol_type (token::TOKEN_DDNS_QUALIFYING_SUFFIX, l);
2908  }
2909 #endif
2910 #if 201103L <= YY_CPLUSPLUS
2911  static
2912  symbol_type
2913  make_DDNS_UPDATE_ON_RENEW (location_type l)
2914  {
2915  return symbol_type (token::TOKEN_DDNS_UPDATE_ON_RENEW, std::move (l));
2916  }
2917 #else
2918  static
2919  symbol_type
2920  make_DDNS_UPDATE_ON_RENEW (const location_type& l)
2921  {
2922  return symbol_type (token::TOKEN_DDNS_UPDATE_ON_RENEW, l);
2923  }
2924 #endif
2925 #if 201103L <= YY_CPLUSPLUS
2926  static
2927  symbol_type
2928  make_DDNS_USE_CONFLICT_RESOLUTION (location_type l)
2929  {
2930  return symbol_type (token::TOKEN_DDNS_USE_CONFLICT_RESOLUTION, std::move (l));
2931  }
2932 #else
2933  static
2934  symbol_type
2935  make_DDNS_USE_CONFLICT_RESOLUTION (const location_type& l)
2936  {
2937  return symbol_type (token::TOKEN_DDNS_USE_CONFLICT_RESOLUTION, l);
2938  }
2939 #endif
2940 #if 201103L <= YY_CPLUSPLUS
2941  static
2942  symbol_type
2943  make_STORE_EXTENDED_INFO (location_type l)
2944  {
2945  return symbol_type (token::TOKEN_STORE_EXTENDED_INFO, std::move (l));
2946  }
2947 #else
2948  static
2949  symbol_type
2950  make_STORE_EXTENDED_INFO (const location_type& l)
2951  {
2952  return symbol_type (token::TOKEN_STORE_EXTENDED_INFO, l);
2953  }
2954 #endif
2955 #if 201103L <= YY_CPLUSPLUS
2956  static
2957  symbol_type
2958  make_SUBNET6 (location_type l)
2959  {
2960  return symbol_type (token::TOKEN_SUBNET6, std::move (l));
2961  }
2962 #else
2963  static
2964  symbol_type
2965  make_SUBNET6 (const location_type& l)
2966  {
2967  return symbol_type (token::TOKEN_SUBNET6, l);
2968  }
2969 #endif
2970 #if 201103L <= YY_CPLUSPLUS
2971  static
2972  symbol_type
2973  make_OPTION_DEF (location_type l)
2974  {
2975  return symbol_type (token::TOKEN_OPTION_DEF, std::move (l));
2976  }
2977 #else
2978  static
2979  symbol_type
2980  make_OPTION_DEF (const location_type& l)
2981  {
2982  return symbol_type (token::TOKEN_OPTION_DEF, l);
2983  }
2984 #endif
2985 #if 201103L <= YY_CPLUSPLUS
2986  static
2987  symbol_type
2988  make_OPTION_DATA (location_type l)
2989  {
2990  return symbol_type (token::TOKEN_OPTION_DATA, std::move (l));
2991  }
2992 #else
2993  static
2994  symbol_type
2995  make_OPTION_DATA (const location_type& l)
2996  {
2997  return symbol_type (token::TOKEN_OPTION_DATA, l);
2998  }
2999 #endif
3000 #if 201103L <= YY_CPLUSPLUS
3001  static
3002  symbol_type
3003  make_NAME (location_type l)
3004  {
3005  return symbol_type (token::TOKEN_NAME, std::move (l));
3006  }
3007 #else
3008  static
3009  symbol_type
3010  make_NAME (const location_type& l)
3011  {
3012  return symbol_type (token::TOKEN_NAME, l);
3013  }
3014 #endif
3015 #if 201103L <= YY_CPLUSPLUS
3016  static
3017  symbol_type
3018  make_DATA (location_type l)
3019  {
3020  return symbol_type (token::TOKEN_DATA, std::move (l));
3021  }
3022 #else
3023  static
3024  symbol_type
3025  make_DATA (const location_type& l)
3026  {
3027  return symbol_type (token::TOKEN_DATA, l);
3028  }
3029 #endif
3030 #if 201103L <= YY_CPLUSPLUS
3031  static
3032  symbol_type
3033  make_CODE (location_type l)
3034  {
3035  return symbol_type (token::TOKEN_CODE, std::move (l));
3036  }
3037 #else
3038  static
3039  symbol_type
3040  make_CODE (const location_type& l)
3041  {
3042  return symbol_type (token::TOKEN_CODE, l);
3043  }
3044 #endif
3045 #if 201103L <= YY_CPLUSPLUS
3046  static
3047  symbol_type
3048  make_SPACE (location_type l)
3049  {
3050  return symbol_type (token::TOKEN_SPACE, std::move (l));
3051  }
3052 #else
3053  static
3054  symbol_type
3055  make_SPACE (const location_type& l)
3056  {
3057  return symbol_type (token::TOKEN_SPACE, l);
3058  }
3059 #endif
3060 #if 201103L <= YY_CPLUSPLUS
3061  static
3062  symbol_type
3063  make_CSV_FORMAT (location_type l)
3064  {
3065  return symbol_type (token::TOKEN_CSV_FORMAT, std::move (l));
3066  }
3067 #else
3068  static
3069  symbol_type
3070  make_CSV_FORMAT (const location_type& l)
3071  {
3072  return symbol_type (token::TOKEN_CSV_FORMAT, l);
3073  }
3074 #endif
3075 #if 201103L <= YY_CPLUSPLUS
3076  static
3077  symbol_type
3078  make_ALWAYS_SEND (location_type l)
3079  {
3080  return symbol_type (token::TOKEN_ALWAYS_SEND, std::move (l));
3081  }
3082 #else
3083  static
3084  symbol_type
3085  make_ALWAYS_SEND (const location_type& l)
3086  {
3087  return symbol_type (token::TOKEN_ALWAYS_SEND, l);
3088  }
3089 #endif
3090 #if 201103L <= YY_CPLUSPLUS
3091  static
3092  symbol_type
3093  make_RECORD_TYPES (location_type l)
3094  {
3095  return symbol_type (token::TOKEN_RECORD_TYPES, std::move (l));
3096  }
3097 #else
3098  static
3099  symbol_type
3100  make_RECORD_TYPES (const location_type& l)
3101  {
3102  return symbol_type (token::TOKEN_RECORD_TYPES, l);
3103  }
3104 #endif
3105 #if 201103L <= YY_CPLUSPLUS
3106  static
3107  symbol_type
3108  make_ENCAPSULATE (location_type l)
3109  {
3110  return symbol_type (token::TOKEN_ENCAPSULATE, std::move (l));
3111  }
3112 #else
3113  static
3114  symbol_type
3115  make_ENCAPSULATE (const location_type& l)
3116  {
3117  return symbol_type (token::TOKEN_ENCAPSULATE, l);
3118  }
3119 #endif
3120 #if 201103L <= YY_CPLUSPLUS
3121  static
3122  symbol_type
3123  make_ARRAY (location_type l)
3124  {
3125  return symbol_type (token::TOKEN_ARRAY, std::move (l));
3126  }
3127 #else
3128  static
3129  symbol_type
3130  make_ARRAY (const location_type& l)
3131  {
3132  return symbol_type (token::TOKEN_ARRAY, l);
3133  }
3134 #endif
3135 #if 201103L <= YY_CPLUSPLUS
3136  static
3137  symbol_type
3138  make_PARKED_PACKET_LIMIT (location_type l)
3139  {
3140  return symbol_type (token::TOKEN_PARKED_PACKET_LIMIT, std::move (l));
3141  }
3142 #else
3143  static
3144  symbol_type
3145  make_PARKED_PACKET_LIMIT (const location_type& l)
3146  {
3147  return symbol_type (token::TOKEN_PARKED_PACKET_LIMIT, l);
3148  }
3149 #endif
3150 #if 201103L <= YY_CPLUSPLUS
3151  static
3152  symbol_type
3153  make_ALLOCATOR (location_type l)
3154  {
3155  return symbol_type (token::TOKEN_ALLOCATOR, std::move (l));
3156  }
3157 #else
3158  static
3159  symbol_type
3160  make_ALLOCATOR (const location_type& l)
3161  {
3162  return symbol_type (token::TOKEN_ALLOCATOR, l);
3163  }
3164 #endif
3165 #if 201103L <= YY_CPLUSPLUS
3166  static
3167  symbol_type
3168  make_PD_ALLOCATOR (location_type l)
3169  {
3170  return symbol_type (token::TOKEN_PD_ALLOCATOR, std::move (l));
3171  }
3172 #else
3173  static
3174  symbol_type
3175  make_PD_ALLOCATOR (const location_type& l)
3176  {
3177  return symbol_type (token::TOKEN_PD_ALLOCATOR, l);
3178  }
3179 #endif
3180 #if 201103L <= YY_CPLUSPLUS
3181  static
3182  symbol_type
3183  make_SHARED_NETWORKS (location_type l)
3184  {
3185  return symbol_type (token::TOKEN_SHARED_NETWORKS, std::move (l));
3186  }
3187 #else
3188  static
3189  symbol_type
3190  make_SHARED_NETWORKS (const location_type& l)
3191  {
3192  return symbol_type (token::TOKEN_SHARED_NETWORKS, l);
3193  }
3194 #endif
3195 #if 201103L <= YY_CPLUSPLUS
3196  static
3197  symbol_type
3198  make_POOLS (location_type l)
3199  {
3200  return symbol_type (token::TOKEN_POOLS, std::move (l));
3201  }
3202 #else
3203  static
3204  symbol_type
3205  make_POOLS (const location_type& l)
3206  {
3207  return symbol_type (token::TOKEN_POOLS, l);
3208  }
3209 #endif
3210 #if 201103L <= YY_CPLUSPLUS
3211  static
3212  symbol_type
3213  make_POOL (location_type l)
3214  {
3215  return symbol_type (token::TOKEN_POOL, std::move (l));
3216  }
3217 #else
3218  static
3219  symbol_type
3220  make_POOL (const location_type& l)
3221  {
3222  return symbol_type (token::TOKEN_POOL, l);
3223  }
3224 #endif
3225 #if 201103L <= YY_CPLUSPLUS
3226  static
3227  symbol_type
3228  make_PD_POOLS (location_type l)
3229  {
3230  return symbol_type (token::TOKEN_PD_POOLS, std::move (l));
3231  }
3232 #else
3233  static
3234  symbol_type
3235  make_PD_POOLS (const location_type& l)
3236  {
3237  return symbol_type (token::TOKEN_PD_POOLS, l);
3238  }
3239 #endif
3240 #if 201103L <= YY_CPLUSPLUS
3241  static
3242  symbol_type
3243  make_PREFIX (location_type l)
3244  {
3245  return symbol_type (token::TOKEN_PREFIX, std::move (l));
3246  }
3247 #else
3248  static
3249  symbol_type
3250  make_PREFIX (const location_type& l)
3251  {
3252  return symbol_type (token::TOKEN_PREFIX, l);
3253  }
3254 #endif
3255 #if 201103L <= YY_CPLUSPLUS
3256  static
3257  symbol_type
3258  make_PREFIX_LEN (location_type l)
3259  {
3260  return symbol_type (token::TOKEN_PREFIX_LEN, std::move (l));
3261  }
3262 #else
3263  static
3264  symbol_type
3265  make_PREFIX_LEN (const location_type& l)
3266  {
3267  return symbol_type (token::TOKEN_PREFIX_LEN, l);
3268  }
3269 #endif
3270 #if 201103L <= YY_CPLUSPLUS
3271  static
3272  symbol_type
3273  make_EXCLUDED_PREFIX (location_type l)
3274  {
3275  return symbol_type (token::TOKEN_EXCLUDED_PREFIX, std::move (l));
3276  }
3277 #else
3278  static
3279  symbol_type
3280  make_EXCLUDED_PREFIX (const location_type& l)
3281  {
3282  return symbol_type (token::TOKEN_EXCLUDED_PREFIX, l);
3283  }
3284 #endif
3285 #if 201103L <= YY_CPLUSPLUS
3286  static
3287  symbol_type
3288  make_EXCLUDED_PREFIX_LEN (location_type l)
3289  {
3290  return symbol_type (token::TOKEN_EXCLUDED_PREFIX_LEN, std::move (l));
3291  }
3292 #else
3293  static
3294  symbol_type
3295  make_EXCLUDED_PREFIX_LEN (const location_type& l)
3296  {
3297  return symbol_type (token::TOKEN_EXCLUDED_PREFIX_LEN, l);
3298  }
3299 #endif
3300 #if 201103L <= YY_CPLUSPLUS
3301  static
3302  symbol_type
3303  make_DELEGATED_LEN (location_type l)
3304  {
3305  return symbol_type (token::TOKEN_DELEGATED_LEN, std::move (l));
3306  }
3307 #else
3308  static
3309  symbol_type
3310  make_DELEGATED_LEN (const location_type& l)
3311  {
3312  return symbol_type (token::TOKEN_DELEGATED_LEN, l);
3313  }
3314 #endif
3315 #if 201103L <= YY_CPLUSPLUS
3316  static
3317  symbol_type
3318  make_USER_CONTEXT (location_type l)
3319  {
3320  return symbol_type (token::TOKEN_USER_CONTEXT, std::move (l));
3321  }
3322 #else
3323  static
3324  symbol_type
3325  make_USER_CONTEXT (const location_type& l)
3326  {
3327  return symbol_type (token::TOKEN_USER_CONTEXT, l);
3328  }
3329 #endif
3330 #if 201103L <= YY_CPLUSPLUS
3331  static
3332  symbol_type
3333  make_COMMENT (location_type l)
3334  {
3335  return symbol_type (token::TOKEN_COMMENT, std::move (l));
3336  }
3337 #else
3338  static
3339  symbol_type
3340  make_COMMENT (const location_type& l)
3341  {
3342  return symbol_type (token::TOKEN_COMMENT, l);
3343  }
3344 #endif
3345 #if 201103L <= YY_CPLUSPLUS
3346  static
3347  symbol_type
3348  make_SUBNET (location_type l)
3349  {
3350  return symbol_type (token::TOKEN_SUBNET, std::move (l));
3351  }
3352 #else
3353  static
3354  symbol_type
3355  make_SUBNET (const location_type& l)
3356  {
3357  return symbol_type (token::TOKEN_SUBNET, l);
3358  }
3359 #endif
3360 #if 201103L <= YY_CPLUSPLUS
3361  static
3362  symbol_type
3363  make_INTERFACE (location_type l)
3364  {
3365  return symbol_type (token::TOKEN_INTERFACE, std::move (l));
3366  }
3367 #else
3368  static
3369  symbol_type
3370  make_INTERFACE (const location_type& l)
3371  {
3372  return symbol_type (token::TOKEN_INTERFACE, l);
3373  }
3374 #endif
3375 #if 201103L <= YY_CPLUSPLUS
3376  static
3377  symbol_type
3378  make_INTERFACE_ID (location_type l)
3379  {
3380  return symbol_type (token::TOKEN_INTERFACE_ID, std::move (l));
3381  }
3382 #else
3383  static
3384  symbol_type
3385  make_INTERFACE_ID (const location_type& l)
3386  {
3387  return symbol_type (token::TOKEN_INTERFACE_ID, l);
3388  }
3389 #endif
3390 #if 201103L <= YY_CPLUSPLUS
3391  static
3392  symbol_type
3393  make_ID (location_type l)
3394  {
3395  return symbol_type (token::TOKEN_ID, std::move (l));
3396  }
3397 #else
3398  static
3399  symbol_type
3400  make_ID (const location_type& l)
3401  {
3402  return symbol_type (token::TOKEN_ID, l);
3403  }
3404 #endif
3405 #if 201103L <= YY_CPLUSPLUS
3406  static
3407  symbol_type
3408  make_RAPID_COMMIT (location_type l)
3409  {
3410  return symbol_type (token::TOKEN_RAPID_COMMIT, std::move (l));
3411  }
3412 #else
3413  static
3414  symbol_type
3415  make_RAPID_COMMIT (const location_type& l)
3416  {
3417  return symbol_type (token::TOKEN_RAPID_COMMIT, l);
3418  }
3419 #endif
3420 #if 201103L <= YY_CPLUSPLUS
3421  static
3422  symbol_type
3423  make_RESERVATION_MODE (location_type l)
3424  {
3425  return symbol_type (token::TOKEN_RESERVATION_MODE, std::move (l));
3426  }
3427 #else
3428  static
3429  symbol_type
3430  make_RESERVATION_MODE (const location_type& l)
3431  {
3432  return symbol_type (token::TOKEN_RESERVATION_MODE, l);
3433  }
3434 #endif
3435 #if 201103L <= YY_CPLUSPLUS
3436  static
3437  symbol_type
3438  make_DISABLED (location_type l)
3439  {
3440  return symbol_type (token::TOKEN_DISABLED, std::move (l));
3441  }
3442 #else
3443  static
3444  symbol_type
3445  make_DISABLED (const location_type& l)
3446  {
3447  return symbol_type (token::TOKEN_DISABLED, l);
3448  }
3449 #endif
3450 #if 201103L <= YY_CPLUSPLUS
3451  static
3452  symbol_type
3453  make_OUT_OF_POOL (location_type l)
3454  {
3455  return symbol_type (token::TOKEN_OUT_OF_POOL, std::move (l));
3456  }
3457 #else
3458  static
3459  symbol_type
3460  make_OUT_OF_POOL (const location_type& l)
3461  {
3462  return symbol_type (token::TOKEN_OUT_OF_POOL, l);
3463  }
3464 #endif
3465 #if 201103L <= YY_CPLUSPLUS
3466  static
3467  symbol_type
3468  make_GLOBAL (location_type l)
3469  {
3470  return symbol_type (token::TOKEN_GLOBAL, std::move (l));
3471  }
3472 #else
3473  static
3474  symbol_type
3475  make_GLOBAL (const location_type& l)
3476  {
3477  return symbol_type (token::TOKEN_GLOBAL, l);
3478  }
3479 #endif
3480 #if 201103L <= YY_CPLUSPLUS
3481  static
3482  symbol_type
3483  make_ALL (location_type l)
3484  {
3485  return symbol_type (token::TOKEN_ALL, std::move (l));
3486  }
3487 #else
3488  static
3489  symbol_type
3490  make_ALL (const location_type& l)
3491  {
3492  return symbol_type (token::TOKEN_ALL, l);
3493  }
3494 #endif
3495 #if 201103L <= YY_CPLUSPLUS
3496  static
3497  symbol_type
3498  make_RESERVATIONS_GLOBAL (location_type l)
3499  {
3500  return symbol_type (token::TOKEN_RESERVATIONS_GLOBAL, std::move (l));
3501  }
3502 #else
3503  static
3504  symbol_type
3505  make_RESERVATIONS_GLOBAL (const location_type& l)
3506  {
3507  return symbol_type (token::TOKEN_RESERVATIONS_GLOBAL, l);
3508  }
3509 #endif
3510 #if 201103L <= YY_CPLUSPLUS
3511  static
3512  symbol_type
3513  make_RESERVATIONS_IN_SUBNET (location_type l)
3514  {
3515  return symbol_type (token::TOKEN_RESERVATIONS_IN_SUBNET, std::move (l));
3516  }
3517 #else
3518  static
3519  symbol_type
3520  make_RESERVATIONS_IN_SUBNET (const location_type& l)
3521  {
3522  return symbol_type (token::TOKEN_RESERVATIONS_IN_SUBNET, l);
3523  }
3524 #endif
3525 #if 201103L <= YY_CPLUSPLUS
3526  static
3527  symbol_type
3528  make_RESERVATIONS_OUT_OF_POOL (location_type l)
3529  {
3530  return symbol_type (token::TOKEN_RESERVATIONS_OUT_OF_POOL, std::move (l));
3531  }
3532 #else
3533  static
3534  symbol_type
3535  make_RESERVATIONS_OUT_OF_POOL (const location_type& l)
3536  {
3537  return symbol_type (token::TOKEN_RESERVATIONS_OUT_OF_POOL, l);
3538  }
3539 #endif
3540 #if 201103L <= YY_CPLUSPLUS
3541  static
3542  symbol_type
3543  make_MAC_SOURCES (location_type l)
3544  {
3545  return symbol_type (token::TOKEN_MAC_SOURCES, std::move (l));
3546  }
3547 #else
3548  static
3549  symbol_type
3550  make_MAC_SOURCES (const location_type& l)
3551  {
3552  return symbol_type (token::TOKEN_MAC_SOURCES, l);
3553  }
3554 #endif
3555 #if 201103L <= YY_CPLUSPLUS
3556  static
3557  symbol_type
3558  make_RELAY_SUPPLIED_OPTIONS (location_type l)
3559  {
3560  return symbol_type (token::TOKEN_RELAY_SUPPLIED_OPTIONS, std::move (l));
3561  }
3562 #else
3563  static
3564  symbol_type
3565  make_RELAY_SUPPLIED_OPTIONS (const location_type& l)
3566  {
3567  return symbol_type (token::TOKEN_RELAY_SUPPLIED_OPTIONS, l);
3568  }
3569 #endif
3570 #if 201103L <= YY_CPLUSPLUS
3571  static
3572  symbol_type
3573  make_HOST_RESERVATION_IDENTIFIERS (location_type l)
3574  {
3575  return symbol_type (token::TOKEN_HOST_RESERVATION_IDENTIFIERS, std::move (l));
3576  }
3577 #else
3578  static
3579  symbol_type
3580  make_HOST_RESERVATION_IDENTIFIERS (const location_type& l)
3581  {
3582  return symbol_type (token::TOKEN_HOST_RESERVATION_IDENTIFIERS, l);
3583  }
3584 #endif
3585 #if 201103L <= YY_CPLUSPLUS
3586  static
3587  symbol_type
3588  make_SANITY_CHECKS (location_type l)
3589  {
3590  return symbol_type (token::TOKEN_SANITY_CHECKS, std::move (l));
3591  }
3592 #else
3593  static
3594  symbol_type
3595  make_SANITY_CHECKS (const location_type& l)
3596  {
3597  return symbol_type (token::TOKEN_SANITY_CHECKS, l);
3598  }
3599 #endif
3600 #if 201103L <= YY_CPLUSPLUS
3601  static
3602  symbol_type
3603  make_LEASE_CHECKS (location_type l)
3604  {
3605  return symbol_type (token::TOKEN_LEASE_CHECKS, std::move (l));
3606  }
3607 #else
3608  static
3609  symbol_type
3610  make_LEASE_CHECKS (const location_type& l)
3611  {
3612  return symbol_type (token::TOKEN_LEASE_CHECKS, l);
3613  }
3614 #endif
3615 #if 201103L <= YY_CPLUSPLUS
3616  static
3617  symbol_type
3618  make_EXTENDED_INFO_CHECKS (location_type l)
3619  {
3620  return symbol_type (token::TOKEN_EXTENDED_INFO_CHECKS, std::move (l));
3621  }
3622 #else
3623  static
3624  symbol_type
3625  make_EXTENDED_INFO_CHECKS (const location_type& l)
3626  {
3627  return symbol_type (token::TOKEN_EXTENDED_INFO_CHECKS, l);
3628  }
3629 #endif
3630 #if 201103L <= YY_CPLUSPLUS
3631  static
3632  symbol_type
3633  make_CLIENT_CLASSES (location_type l)
3634  {
3635  return symbol_type (token::TOKEN_CLIENT_CLASSES, std::move (l));
3636  }
3637 #else
3638  static
3639  symbol_type
3640  make_CLIENT_CLASSES (const location_type& l)
3641  {
3642  return symbol_type (token::TOKEN_CLIENT_CLASSES, l);
3643  }
3644 #endif
3645 #if 201103L <= YY_CPLUSPLUS
3646  static
3647  symbol_type
3648  make_REQUIRE_CLIENT_CLASSES (location_type l)
3649  {
3650  return symbol_type (token::TOKEN_REQUIRE_CLIENT_CLASSES, std::move (l));
3651  }
3652 #else
3653  static
3654  symbol_type
3655  make_REQUIRE_CLIENT_CLASSES (const location_type& l)
3656  {
3657  return symbol_type (token::TOKEN_REQUIRE_CLIENT_CLASSES, l);
3658  }
3659 #endif
3660 #if 201103L <= YY_CPLUSPLUS
3661  static
3662  symbol_type
3663  make_TEST (location_type l)
3664  {
3665  return symbol_type (token::TOKEN_TEST, std::move (l));
3666  }
3667 #else
3668  static
3669  symbol_type
3670  make_TEST (const location_type& l)
3671  {
3672  return symbol_type (token::TOKEN_TEST, l);
3673  }
3674 #endif
3675 #if 201103L <= YY_CPLUSPLUS
3676  static
3677  symbol_type
3678  make_TEMPLATE_TEST (location_type l)
3679  {
3680  return symbol_type (token::TOKEN_TEMPLATE_TEST, std::move (l));
3681  }
3682 #else
3683  static
3684  symbol_type
3685  make_TEMPLATE_TEST (const location_type& l)
3686  {
3687  return symbol_type (token::TOKEN_TEMPLATE_TEST, l);
3688  }
3689 #endif
3690 #if 201103L <= YY_CPLUSPLUS
3691  static
3692  symbol_type
3693  make_ONLY_IF_REQUIRED (location_type l)
3694  {
3695  return symbol_type (token::TOKEN_ONLY_IF_REQUIRED, std::move (l));
3696  }
3697 #else
3698  static
3699  symbol_type
3700  make_ONLY_IF_REQUIRED (const location_type& l)
3701  {
3702  return symbol_type (token::TOKEN_ONLY_IF_REQUIRED, l);
3703  }
3704 #endif
3705 #if 201103L <= YY_CPLUSPLUS
3706  static
3707  symbol_type
3708  make_CLIENT_CLASS (location_type l)
3709  {
3710  return symbol_type (token::TOKEN_CLIENT_CLASS, std::move (l));
3711  }
3712 #else
3713  static
3714  symbol_type
3715  make_CLIENT_CLASS (const location_type& l)
3716  {
3717  return symbol_type (token::TOKEN_CLIENT_CLASS, l);
3718  }
3719 #endif
3720 #if 201103L <= YY_CPLUSPLUS
3721  static
3722  symbol_type
3723  make_RESERVATIONS (location_type l)
3724  {
3725  return symbol_type (token::TOKEN_RESERVATIONS, std::move (l));
3726  }
3727 #else
3728  static
3729  symbol_type
3730  make_RESERVATIONS (const location_type& l)
3731  {
3732  return symbol_type (token::TOKEN_RESERVATIONS, l);
3733  }
3734 #endif
3735 #if 201103L <= YY_CPLUSPLUS
3736  static
3737  symbol_type
3738  make_IP_ADDRESSES (location_type l)
3739  {
3740  return symbol_type (token::TOKEN_IP_ADDRESSES, std::move (l));
3741  }
3742 #else
3743  static
3744  symbol_type
3745  make_IP_ADDRESSES (const location_type& l)
3746  {
3747  return symbol_type (token::TOKEN_IP_ADDRESSES, l);
3748  }
3749 #endif
3750 #if 201103L <= YY_CPLUSPLUS
3751  static
3752  symbol_type
3753  make_PREFIXES (location_type l)
3754  {
3755  return symbol_type (token::TOKEN_PREFIXES, std::move (l));
3756  }
3757 #else
3758  static
3759  symbol_type
3760  make_PREFIXES (const location_type& l)
3761  {
3762  return symbol_type (token::TOKEN_PREFIXES, l);
3763  }
3764 #endif
3765 #if 201103L <= YY_CPLUSPLUS
3766  static
3767  symbol_type
3768  make_DUID (location_type l)
3769  {
3770  return symbol_type (token::TOKEN_DUID, std::move (l));
3771  }
3772 #else
3773  static
3774  symbol_type
3775  make_DUID (const location_type& l)
3776  {
3777  return symbol_type (token::TOKEN_DUID, l);
3778  }
3779 #endif
3780 #if 201103L <= YY_CPLUSPLUS
3781  static
3782  symbol_type
3783  make_HW_ADDRESS (location_type l)
3784  {
3785  return symbol_type (token::TOKEN_HW_ADDRESS, std::move (l));
3786  }
3787 #else
3788  static
3789  symbol_type
3790  make_HW_ADDRESS (const location_type& l)
3791  {
3792  return symbol_type (token::TOKEN_HW_ADDRESS, l);
3793  }
3794 #endif
3795 #if 201103L <= YY_CPLUSPLUS
3796  static
3797  symbol_type
3798  make_HOSTNAME (location_type l)
3799  {
3800  return symbol_type (token::TOKEN_HOSTNAME, std::move (l));
3801  }
3802 #else
3803  static
3804  symbol_type
3805  make_HOSTNAME (const location_type& l)
3806  {
3807  return symbol_type (token::TOKEN_HOSTNAME, l);
3808  }
3809 #endif
3810 #if 201103L <= YY_CPLUSPLUS
3811  static
3812  symbol_type
3813  make_FLEX_ID (location_type l)
3814  {
3815  return symbol_type (token::TOKEN_FLEX_ID, std::move (l));
3816  }
3817 #else
3818  static
3819  symbol_type
3820  make_FLEX_ID (const location_type& l)
3821  {
3822  return symbol_type (token::TOKEN_FLEX_ID, l);
3823  }
3824 #endif
3825 #if 201103L <= YY_CPLUSPLUS
3826  static
3827  symbol_type
3828  make_RELAY (location_type l)
3829  {
3830  return symbol_type (token::TOKEN_RELAY, std::move (l));
3831  }
3832 #else
3833  static
3834  symbol_type
3835  make_RELAY (const location_type& l)
3836  {
3837  return symbol_type (token::TOKEN_RELAY, l);
3838  }
3839 #endif
3840 #if 201103L <= YY_CPLUSPLUS
3841  static
3842  symbol_type
3843  make_IP_ADDRESS (location_type l)
3844  {
3845  return symbol_type (token::TOKEN_IP_ADDRESS, std::move (l));
3846  }
3847 #else
3848  static
3849  symbol_type
3850  make_IP_ADDRESS (const location_type& l)
3851  {
3852  return symbol_type (token::TOKEN_IP_ADDRESS, l);
3853  }
3854 #endif
3855 #if 201103L <= YY_CPLUSPLUS
3856  static
3857  symbol_type
3858  make_HOOKS_LIBRARIES (location_type l)
3859  {
3860  return symbol_type (token::TOKEN_HOOKS_LIBRARIES, std::move (l));
3861  }
3862 #else
3863  static
3864  symbol_type
3865  make_HOOKS_LIBRARIES (const location_type& l)
3866  {
3867  return symbol_type (token::TOKEN_HOOKS_LIBRARIES, l);
3868  }
3869 #endif
3870 #if 201103L <= YY_CPLUSPLUS
3871  static
3872  symbol_type
3873  make_LIBRARY (location_type l)
3874  {
3875  return symbol_type (token::TOKEN_LIBRARY, std::move (l));
3876  }
3877 #else
3878  static
3879  symbol_type
3880  make_LIBRARY (const location_type& l)
3881  {
3882  return symbol_type (token::TOKEN_LIBRARY, l);
3883  }
3884 #endif
3885 #if 201103L <= YY_CPLUSPLUS
3886  static
3887  symbol_type
3888  make_PARAMETERS (location_type l)
3889  {
3890  return symbol_type (token::TOKEN_PARAMETERS, std::move (l));
3891  }
3892 #else
3893  static
3894  symbol_type
3895  make_PARAMETERS (const location_type& l)
3896  {
3897  return symbol_type (token::TOKEN_PARAMETERS, l);
3898  }
3899 #endif
3900 #if 201103L <= YY_CPLUSPLUS
3901  static
3902  symbol_type
3903  make_EXPIRED_LEASES_PROCESSING (location_type l)
3904  {
3905  return symbol_type (token::TOKEN_EXPIRED_LEASES_PROCESSING, std::move (l));
3906  }
3907 #else
3908  static
3909  symbol_type
3910  make_EXPIRED_LEASES_PROCESSING (const location_type& l)
3911  {
3912  return symbol_type (token::TOKEN_EXPIRED_LEASES_PROCESSING, l);
3913  }
3914 #endif
3915 #if 201103L <= YY_CPLUSPLUS
3916  static
3917  symbol_type
3918  make_RECLAIM_TIMER_WAIT_TIME (location_type l)
3919  {
3920  return symbol_type (token::TOKEN_RECLAIM_TIMER_WAIT_TIME, std::move (l));
3921  }
3922 #else
3923  static
3924  symbol_type
3925  make_RECLAIM_TIMER_WAIT_TIME (const location_type& l)
3926  {
3927  return symbol_type (token::TOKEN_RECLAIM_TIMER_WAIT_TIME, l);
3928  }
3929 #endif
3930 #if 201103L <= YY_CPLUSPLUS
3931  static
3932  symbol_type
3933  make_FLUSH_RECLAIMED_TIMER_WAIT_TIME (location_type l)
3934  {
3935  return symbol_type (token::TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME, std::move (l));
3936  }
3937 #else
3938  static
3939  symbol_type
3940  make_FLUSH_RECLAIMED_TIMER_WAIT_TIME (const location_type& l)
3941  {
3942  return symbol_type (token::TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME, l);
3943  }
3944 #endif
3945 #if 201103L <= YY_CPLUSPLUS
3946  static
3947  symbol_type
3948  make_HOLD_RECLAIMED_TIME (location_type l)
3949  {
3950  return symbol_type (token::TOKEN_HOLD_RECLAIMED_TIME, std::move (l));
3951  }
3952 #else
3953  static
3954  symbol_type
3955  make_HOLD_RECLAIMED_TIME (const location_type& l)
3956  {
3957  return symbol_type (token::TOKEN_HOLD_RECLAIMED_TIME, l);
3958  }
3959 #endif
3960 #if 201103L <= YY_CPLUSPLUS
3961  static
3962  symbol_type
3963  make_MAX_RECLAIM_LEASES (location_type l)
3964  {
3965  return symbol_type (token::TOKEN_MAX_RECLAIM_LEASES, std::move (l));
3966  }
3967 #else
3968  static
3969  symbol_type
3970  make_MAX_RECLAIM_LEASES (const location_type& l)
3971  {
3972  return symbol_type (token::TOKEN_MAX_RECLAIM_LEASES, l);
3973  }
3974 #endif
3975 #if 201103L <= YY_CPLUSPLUS
3976  static
3977  symbol_type
3978  make_MAX_RECLAIM_TIME (location_type l)
3979  {
3980  return symbol_type (token::TOKEN_MAX_RECLAIM_TIME, std::move (l));
3981  }
3982 #else
3983  static
3984  symbol_type
3985  make_MAX_RECLAIM_TIME (const location_type& l)
3986  {
3987  return symbol_type (token::TOKEN_MAX_RECLAIM_TIME, l);
3988  }
3989 #endif
3990 #if 201103L <= YY_CPLUSPLUS
3991  static
3992  symbol_type
3993  make_UNWARNED_RECLAIM_CYCLES (location_type l)
3994  {
3995  return symbol_type (token::TOKEN_UNWARNED_RECLAIM_CYCLES, std::move (l));
3996  }
3997 #else
3998  static
3999  symbol_type
4000  make_UNWARNED_RECLAIM_CYCLES (const location_type& l)
4001  {
4002  return symbol_type (token::TOKEN_UNWARNED_RECLAIM_CYCLES, l);
4003  }
4004 #endif
4005 #if 201103L <= YY_CPLUSPLUS
4006  static
4007  symbol_type
4008  make_SERVER_ID (location_type l)
4009  {
4010  return symbol_type (token::TOKEN_SERVER_ID, std::move (l));
4011  }
4012 #else
4013  static
4014  symbol_type
4015  make_SERVER_ID (const location_type& l)
4016  {
4017  return symbol_type (token::TOKEN_SERVER_ID, l);
4018  }
4019 #endif
4020 #if 201103L <= YY_CPLUSPLUS
4021  static
4022  symbol_type
4023  make_LLT (location_type l)
4024  {
4025  return symbol_type (token::TOKEN_LLT, std::move (l));
4026  }
4027 #else
4028  static
4029  symbol_type
4030  make_LLT (const location_type& l)
4031  {
4032  return symbol_type (token::TOKEN_LLT, l);
4033  }
4034 #endif
4035 #if 201103L <= YY_CPLUSPLUS
4036  static
4037  symbol_type
4038  make_EN (location_type l)
4039  {
4040  return symbol_type (token::TOKEN_EN, std::move (l));
4041  }
4042 #else
4043  static
4044  symbol_type
4045  make_EN (const location_type& l)
4046  {
4047  return symbol_type (token::TOKEN_EN, l);
4048  }
4049 #endif
4050 #if 201103L <= YY_CPLUSPLUS
4051  static
4052  symbol_type
4053  make_LL (location_type l)
4054  {
4055  return symbol_type (token::TOKEN_LL, std::move (l));
4056  }
4057 #else
4058  static
4059  symbol_type
4060  make_LL (const location_type& l)
4061  {
4062  return symbol_type (token::TOKEN_LL, l);
4063  }
4064 #endif
4065 #if 201103L <= YY_CPLUSPLUS
4066  static
4067  symbol_type
4068  make_IDENTIFIER (location_type l)
4069  {
4070  return symbol_type (token::TOKEN_IDENTIFIER, std::move (l));
4071  }
4072 #else
4073  static
4074  symbol_type
4075  make_IDENTIFIER (const location_type& l)
4076  {
4077  return symbol_type (token::TOKEN_IDENTIFIER, l);
4078  }
4079 #endif
4080 #if 201103L <= YY_CPLUSPLUS
4081  static
4082  symbol_type
4083  make_HTYPE (location_type l)
4084  {
4085  return symbol_type (token::TOKEN_HTYPE, std::move (l));
4086  }
4087 #else
4088  static
4089  symbol_type
4090  make_HTYPE (const location_type& l)
4091  {
4092  return symbol_type (token::TOKEN_HTYPE, l);
4093  }
4094 #endif
4095 #if 201103L <= YY_CPLUSPLUS
4096  static
4097  symbol_type
4098  make_TIME (location_type l)
4099  {
4100  return symbol_type (token::TOKEN_TIME, std::move (l));
4101  }
4102 #else
4103  static
4104  symbol_type
4105  make_TIME (const location_type& l)
4106  {
4107  return symbol_type (token::TOKEN_TIME, l);
4108  }
4109 #endif
4110 #if 201103L <= YY_CPLUSPLUS
4111  static
4112  symbol_type
4113  make_ENTERPRISE_ID (location_type l)
4114  {
4115  return symbol_type (token::TOKEN_ENTERPRISE_ID, std::move (l));
4116  }
4117 #else
4118  static
4119  symbol_type
4120  make_ENTERPRISE_ID (const location_type& l)
4121  {
4122  return symbol_type (token::TOKEN_ENTERPRISE_ID, l);
4123  }
4124 #endif
4125 #if 201103L <= YY_CPLUSPLUS
4126  static
4127  symbol_type
4128  make_DHCP4O6_PORT (location_type l)
4129  {
4130  return symbol_type (token::TOKEN_DHCP4O6_PORT, std::move (l));
4131  }
4132 #else
4133  static
4134  symbol_type
4135  make_DHCP4O6_PORT (const location_type& l)
4136  {
4137  return symbol_type (token::TOKEN_DHCP4O6_PORT, l);
4138  }
4139 #endif
4140 #if 201103L <= YY_CPLUSPLUS
4141  static
4142  symbol_type
4143  make_DHCP_MULTI_THREADING (location_type l)
4144  {
4145  return symbol_type (token::TOKEN_DHCP_MULTI_THREADING, std::move (l));
4146  }
4147 #else
4148  static
4149  symbol_type
4150  make_DHCP_MULTI_THREADING (const location_type& l)
4151  {
4152  return symbol_type (token::TOKEN_DHCP_MULTI_THREADING, l);
4153  }
4154 #endif
4155 #if 201103L <= YY_CPLUSPLUS
4156  static
4157  symbol_type
4158  make_ENABLE_MULTI_THREADING (location_type l)
4159  {
4160  return symbol_type (token::TOKEN_ENABLE_MULTI_THREADING, std::move (l));
4161  }
4162 #else
4163  static
4164  symbol_type
4165  make_ENABLE_MULTI_THREADING (const location_type& l)
4166  {
4167  return symbol_type (token::TOKEN_ENABLE_MULTI_THREADING, l);
4168  }
4169 #endif
4170 #if 201103L <= YY_CPLUSPLUS
4171  static
4172  symbol_type
4173  make_THREAD_POOL_SIZE (location_type l)
4174  {
4175  return symbol_type (token::TOKEN_THREAD_POOL_SIZE, std::move (l));
4176  }
4177 #else
4178  static
4179  symbol_type
4180  make_THREAD_POOL_SIZE (const location_type& l)
4181  {
4182  return symbol_type (token::TOKEN_THREAD_POOL_SIZE, l);
4183  }
4184 #endif
4185 #if 201103L <= YY_CPLUSPLUS
4186  static
4187  symbol_type
4188  make_PACKET_QUEUE_SIZE (location_type l)
4189  {
4190  return symbol_type (token::TOKEN_PACKET_QUEUE_SIZE, std::move (l));
4191  }
4192 #else
4193  static
4194  symbol_type
4195  make_PACKET_QUEUE_SIZE (const location_type& l)
4196  {
4197  return symbol_type (token::TOKEN_PACKET_QUEUE_SIZE, l);
4198  }
4199 #endif
4200 #if 201103L <= YY_CPLUSPLUS
4201  static
4202  symbol_type
4203  make_CONTROL_SOCKET (location_type l)
4204  {
4205  return symbol_type (token::TOKEN_CONTROL_SOCKET, std::move (l));
4206  }
4207 #else
4208  static
4209  symbol_type
4210  make_CONTROL_SOCKET (const location_type& l)
4211  {
4212  return symbol_type (token::TOKEN_CONTROL_SOCKET, l);
4213  }
4214 #endif
4215 #if 201103L <= YY_CPLUSPLUS
4216  static
4217  symbol_type
4218  make_SOCKET_TYPE (location_type l)
4219  {
4220  return symbol_type (token::TOKEN_SOCKET_TYPE, std::move (l));
4221  }
4222 #else
4223  static
4224  symbol_type
4225  make_SOCKET_TYPE (const location_type& l)
4226  {
4227  return symbol_type (token::TOKEN_SOCKET_TYPE, l);
4228  }
4229 #endif
4230 #if 201103L <= YY_CPLUSPLUS
4231  static
4232  symbol_type
4233  make_SOCKET_NAME (location_type l)
4234  {
4235  return symbol_type (token::TOKEN_SOCKET_NAME, std::move (l));
4236  }
4237 #else
4238  static
4239  symbol_type
4240  make_SOCKET_NAME (const location_type& l)
4241  {
4242  return symbol_type (token::TOKEN_SOCKET_NAME, l);
4243  }
4244 #endif
4245 #if 201103L <= YY_CPLUSPLUS
4246  static
4247  symbol_type
4248  make_DHCP_QUEUE_CONTROL (location_type l)
4249  {
4250  return symbol_type (token::TOKEN_DHCP_QUEUE_CONTROL, std::move (l));
4251  }
4252 #else
4253  static
4254  symbol_type
4255  make_DHCP_QUEUE_CONTROL (const location_type& l)
4256  {
4257  return symbol_type (token::TOKEN_DHCP_QUEUE_CONTROL, l);
4258  }
4259 #endif
4260 #if 201103L <= YY_CPLUSPLUS
4261  static
4262  symbol_type
4263  make_ENABLE_QUEUE (location_type l)
4264  {
4265  return symbol_type (token::TOKEN_ENABLE_QUEUE, std::move (l));
4266  }
4267 #else
4268  static
4269  symbol_type
4270  make_ENABLE_QUEUE (const location_type& l)
4271  {
4272  return symbol_type (token::TOKEN_ENABLE_QUEUE, l);
4273  }
4274 #endif
4275 #if 201103L <= YY_CPLUSPLUS
4276  static
4277  symbol_type
4278  make_QUEUE_TYPE (location_type l)
4279  {
4280  return symbol_type (token::TOKEN_QUEUE_TYPE, std::move (l));
4281  }
4282 #else
4283  static
4284  symbol_type
4285  make_QUEUE_TYPE (const location_type& l)
4286  {
4287  return symbol_type (token::TOKEN_QUEUE_TYPE, l);
4288  }
4289 #endif
4290 #if 201103L <= YY_CPLUSPLUS
4291  static
4292  symbol_type
4293  make_CAPACITY (location_type l)
4294  {
4295  return symbol_type (token::TOKEN_CAPACITY, std::move (l));
4296  }
4297 #else
4298  static
4299  symbol_type
4300  make_CAPACITY (const location_type& l)
4301  {
4302  return symbol_type (token::TOKEN_CAPACITY, l);
4303  }
4304 #endif
4305 #if 201103L <= YY_CPLUSPLUS
4306  static
4307  symbol_type
4308  make_DHCP_DDNS (location_type l)
4309  {
4310  return symbol_type (token::TOKEN_DHCP_DDNS, std::move (l));
4311  }
4312 #else
4313  static
4314  symbol_type
4315  make_DHCP_DDNS (const location_type& l)
4316  {
4317  return symbol_type (token::TOKEN_DHCP_DDNS, l);
4318  }
4319 #endif
4320 #if 201103L <= YY_CPLUSPLUS
4321  static
4322  symbol_type
4323  make_ENABLE_UPDATES (location_type l)
4324  {
4325  return symbol_type (token::TOKEN_ENABLE_UPDATES, std::move (l));
4326  }
4327 #else
4328  static
4329  symbol_type
4330  make_ENABLE_UPDATES (const location_type& l)
4331  {
4332  return symbol_type (token::TOKEN_ENABLE_UPDATES, l);
4333  }
4334 #endif
4335 #if 201103L <= YY_CPLUSPLUS
4336  static
4337  symbol_type
4338  make_QUALIFYING_SUFFIX (location_type l)
4339  {
4340  return symbol_type (token::TOKEN_QUALIFYING_SUFFIX, std::move (l));
4341  }
4342 #else
4343  static
4344  symbol_type
4345  make_QUALIFYING_SUFFIX (const location_type& l)
4346  {
4347  return symbol_type (token::TOKEN_QUALIFYING_SUFFIX, l);
4348  }
4349 #endif
4350 #if 201103L <= YY_CPLUSPLUS
4351  static
4352  symbol_type
4353  make_SERVER_IP (location_type l)
4354  {
4355  return symbol_type (token::TOKEN_SERVER_IP, std::move (l));
4356  }
4357 #else
4358  static
4359  symbol_type
4360  make_SERVER_IP (const location_type& l)
4361  {
4362  return symbol_type (token::TOKEN_SERVER_IP, l);
4363  }
4364 #endif
4365 #if 201103L <= YY_CPLUSPLUS
4366  static
4367  symbol_type
4368  make_SERVER_PORT (location_type l)
4369  {
4370  return symbol_type (token::TOKEN_SERVER_PORT, std::move (l));
4371  }
4372 #else
4373  static
4374  symbol_type
4375  make_SERVER_PORT (const location_type& l)
4376  {
4377  return symbol_type (token::TOKEN_SERVER_PORT, l);
4378  }
4379 #endif
4380 #if 201103L <= YY_CPLUSPLUS
4381  static
4382  symbol_type
4383  make_SENDER_IP (location_type l)
4384  {
4385  return symbol_type (token::TOKEN_SENDER_IP, std::move (l));
4386  }
4387 #else
4388  static
4389  symbol_type
4390  make_SENDER_IP (const location_type& l)
4391  {
4392  return symbol_type (token::TOKEN_SENDER_IP, l);
4393  }
4394 #endif
4395 #if 201103L <= YY_CPLUSPLUS
4396  static
4397  symbol_type
4398  make_SENDER_PORT (location_type l)
4399  {
4400  return symbol_type (token::TOKEN_SENDER_PORT, std::move (l));
4401  }
4402 #else
4403  static
4404  symbol_type
4405  make_SENDER_PORT (const location_type& l)
4406  {
4407  return symbol_type (token::TOKEN_SENDER_PORT, l);
4408  }
4409 #endif
4410 #if 201103L <= YY_CPLUSPLUS
4411  static
4412  symbol_type
4413  make_MAX_QUEUE_SIZE (location_type l)
4414  {
4415  return symbol_type (token::TOKEN_MAX_QUEUE_SIZE, std::move (l));
4416  }
4417 #else
4418  static
4419  symbol_type
4420  make_MAX_QUEUE_SIZE (const location_type& l)
4421  {
4422  return symbol_type (token::TOKEN_MAX_QUEUE_SIZE, l);
4423  }
4424 #endif
4425 #if 201103L <= YY_CPLUSPLUS
4426  static
4427  symbol_type
4428  make_NCR_PROTOCOL (location_type l)
4429  {
4430  return symbol_type (token::TOKEN_NCR_PROTOCOL, std::move (l));
4431  }
4432 #else
4433  static
4434  symbol_type
4435  make_NCR_PROTOCOL (const location_type& l)
4436  {
4437  return symbol_type (token::TOKEN_NCR_PROTOCOL, l);
4438  }
4439 #endif
4440 #if 201103L <= YY_CPLUSPLUS
4441  static
4442  symbol_type
4443  make_NCR_FORMAT (location_type l)
4444  {
4445  return symbol_type (token::TOKEN_NCR_FORMAT, std::move (l));
4446  }
4447 #else
4448  static
4449  symbol_type
4450  make_NCR_FORMAT (const location_type& l)
4451  {
4452  return symbol_type (token::TOKEN_NCR_FORMAT, l);
4453  }
4454 #endif
4455 #if 201103L <= YY_CPLUSPLUS
4456  static
4457  symbol_type
4458  make_OVERRIDE_NO_UPDATE (location_type l)
4459  {
4460  return symbol_type (token::TOKEN_OVERRIDE_NO_UPDATE, std::move (l));
4461  }
4462 #else
4463  static
4464  symbol_type
4465  make_OVERRIDE_NO_UPDATE (const location_type& l)
4466  {
4467  return symbol_type (token::TOKEN_OVERRIDE_NO_UPDATE, l);
4468  }
4469 #endif
4470 #if 201103L <= YY_CPLUSPLUS
4471  static
4472  symbol_type
4473  make_OVERRIDE_CLIENT_UPDATE (location_type l)
4474  {
4475  return symbol_type (token::TOKEN_OVERRIDE_CLIENT_UPDATE, std::move (l));
4476  }
4477 #else
4478  static
4479  symbol_type
4480  make_OVERRIDE_CLIENT_UPDATE (const location_type& l)
4481  {
4482  return symbol_type (token::TOKEN_OVERRIDE_CLIENT_UPDATE, l);
4483  }
4484 #endif
4485 #if 201103L <= YY_CPLUSPLUS
4486  static
4487  symbol_type
4488  make_REPLACE_CLIENT_NAME (location_type l)
4489  {
4490  return symbol_type (token::TOKEN_REPLACE_CLIENT_NAME, std::move (l));
4491  }
4492 #else
4493  static
4494  symbol_type
4495  make_REPLACE_CLIENT_NAME (const location_type& l)
4496  {
4497  return symbol_type (token::TOKEN_REPLACE_CLIENT_NAME, l);
4498  }
4499 #endif
4500 #if 201103L <= YY_CPLUSPLUS
4501  static
4502  symbol_type
4503  make_GENERATED_PREFIX (location_type l)
4504  {
4505  return symbol_type (token::TOKEN_GENERATED_PREFIX, std::move (l));
4506  }
4507 #else
4508  static
4509  symbol_type
4510  make_GENERATED_PREFIX (const location_type& l)
4511  {
4512  return symbol_type (token::TOKEN_GENERATED_PREFIX, l);
4513  }
4514 #endif
4515 #if 201103L <= YY_CPLUSPLUS
4516  static
4517  symbol_type
4518  make_UDP (location_type l)
4519  {
4520  return symbol_type (token::TOKEN_UDP, std::move (l));
4521  }
4522 #else
4523  static
4524  symbol_type
4525  make_UDP (const location_type& l)
4526  {
4527  return symbol_type (token::TOKEN_UDP, l);
4528  }
4529 #endif
4530 #if 201103L <= YY_CPLUSPLUS
4531  static
4532  symbol_type
4533  make_TCP (location_type l)
4534  {
4535  return symbol_type (token::TOKEN_TCP, std::move (l));
4536  }
4537 #else
4538  static
4539  symbol_type
4540  make_TCP (const location_type& l)
4541  {
4542  return symbol_type (token::TOKEN_TCP, l);
4543  }
4544 #endif
4545 #if 201103L <= YY_CPLUSPLUS
4546  static
4547  symbol_type
4548  make_JSON (location_type l)
4549  {
4550  return symbol_type (token::TOKEN_JSON, std::move (l));
4551  }
4552 #else
4553  static
4554  symbol_type
4555  make_JSON (const location_type& l)
4556  {
4557  return symbol_type (token::TOKEN_JSON, l);
4558  }
4559 #endif
4560 #if 201103L <= YY_CPLUSPLUS
4561  static
4562  symbol_type
4563  make_WHEN_PRESENT (location_type l)
4564  {
4565  return symbol_type (token::TOKEN_WHEN_PRESENT, std::move (l));
4566  }
4567 #else
4568  static
4569  symbol_type
4570  make_WHEN_PRESENT (const location_type& l)
4571  {
4572  return symbol_type (token::TOKEN_WHEN_PRESENT, l);
4573  }
4574 #endif
4575 #if 201103L <= YY_CPLUSPLUS
4576  static
4577  symbol_type
4578  make_NEVER (location_type l)
4579  {
4580  return symbol_type (token::TOKEN_NEVER, std::move (l));
4581  }
4582 #else
4583  static
4584  symbol_type
4585  make_NEVER (const location_type& l)
4586  {
4587  return symbol_type (token::TOKEN_NEVER, l);
4588  }
4589 #endif
4590 #if 201103L <= YY_CPLUSPLUS
4591  static
4592  symbol_type
4593  make_ALWAYS (location_type l)
4594  {
4595  return symbol_type (token::TOKEN_ALWAYS, std::move (l));
4596  }
4597 #else
4598  static
4599  symbol_type
4600  make_ALWAYS (const location_type& l)
4601  {
4602  return symbol_type (token::TOKEN_ALWAYS, l);
4603  }
4604 #endif
4605 #if 201103L <= YY_CPLUSPLUS
4606  static
4607  symbol_type
4608  make_WHEN_NOT_PRESENT (location_type l)
4609  {
4610  return symbol_type (token::TOKEN_WHEN_NOT_PRESENT, std::move (l));
4611  }
4612 #else
4613  static
4614  symbol_type
4615  make_WHEN_NOT_PRESENT (const location_type& l)
4616  {
4617  return symbol_type (token::TOKEN_WHEN_NOT_PRESENT, l);
4618  }
4619 #endif
4620 #if 201103L <= YY_CPLUSPLUS
4621  static
4622  symbol_type
4623  make_HOSTNAME_CHAR_SET (location_type l)
4624  {
4625  return symbol_type (token::TOKEN_HOSTNAME_CHAR_SET, std::move (l));
4626  }
4627 #else
4628  static
4629  symbol_type
4630  make_HOSTNAME_CHAR_SET (const location_type& l)
4631  {
4632  return symbol_type (token::TOKEN_HOSTNAME_CHAR_SET, l);
4633  }
4634 #endif
4635 #if 201103L <= YY_CPLUSPLUS
4636  static
4637  symbol_type
4638  make_HOSTNAME_CHAR_REPLACEMENT (location_type l)
4639  {
4640  return symbol_type (token::TOKEN_HOSTNAME_CHAR_REPLACEMENT, std::move (l));
4641  }
4642 #else
4643  static
4644  symbol_type
4645  make_HOSTNAME_CHAR_REPLACEMENT (const location_type& l)
4646  {
4647  return symbol_type (token::TOKEN_HOSTNAME_CHAR_REPLACEMENT, l);
4648  }
4649 #endif
4650 #if 201103L <= YY_CPLUSPLUS
4651  static
4652  symbol_type
4653  make_EARLY_GLOBAL_RESERVATIONS_LOOKUP (location_type l)
4654  {
4655  return symbol_type (token::TOKEN_EARLY_GLOBAL_RESERVATIONS_LOOKUP, std::move (l));
4656  }
4657 #else
4658  static
4659  symbol_type
4660  make_EARLY_GLOBAL_RESERVATIONS_LOOKUP (const location_type& l)
4661  {
4662  return symbol_type (token::TOKEN_EARLY_GLOBAL_RESERVATIONS_LOOKUP, l);
4663  }
4664 #endif
4665 #if 201103L <= YY_CPLUSPLUS
4666  static
4667  symbol_type
4668  make_IP_RESERVATIONS_UNIQUE (location_type l)
4669  {
4670  return symbol_type (token::TOKEN_IP_RESERVATIONS_UNIQUE, std::move (l));
4671  }
4672 #else
4673  static
4674  symbol_type
4675  make_IP_RESERVATIONS_UNIQUE (const location_type& l)
4676  {
4677  return symbol_type (token::TOKEN_IP_RESERVATIONS_UNIQUE, l);
4678  }
4679 #endif
4680 #if 201103L <= YY_CPLUSPLUS
4681  static
4682  symbol_type
4683  make_RESERVATIONS_LOOKUP_FIRST (location_type l)
4684  {
4685  return symbol_type (token::TOKEN_RESERVATIONS_LOOKUP_FIRST, std::move (l));
4686  }
4687 #else
4688  static
4689  symbol_type
4690  make_RESERVATIONS_LOOKUP_FIRST (const location_type& l)
4691  {
4692  return symbol_type (token::TOKEN_RESERVATIONS_LOOKUP_FIRST, l);
4693  }
4694 #endif
4695 #if 201103L <= YY_CPLUSPLUS
4696  static
4697  symbol_type
4698  make_LOGGERS (location_type l)
4699  {
4700  return symbol_type (token::TOKEN_LOGGERS, std::move (l));
4701  }
4702 #else
4703  static
4704  symbol_type
4705  make_LOGGERS (const location_type& l)
4706  {
4707  return symbol_type (token::TOKEN_LOGGERS, l);
4708  }
4709 #endif
4710 #if 201103L <= YY_CPLUSPLUS
4711  static
4712  symbol_type
4713  make_OUTPUT_OPTIONS (location_type l)
4714  {
4715  return symbol_type (token::TOKEN_OUTPUT_OPTIONS, std::move (l));
4716  }
4717 #else
4718  static
4719  symbol_type
4720  make_OUTPUT_OPTIONS (const location_type& l)
4721  {
4722  return symbol_type (token::TOKEN_OUTPUT_OPTIONS, l);
4723  }
4724 #endif
4725 #if 201103L <= YY_CPLUSPLUS
4726  static
4727  symbol_type
4728  make_OUTPUT (location_type l)
4729  {
4730  return symbol_type (token::TOKEN_OUTPUT, std::move (l));
4731  }
4732 #else
4733  static
4734  symbol_type
4735  make_OUTPUT (const location_type& l)
4736  {
4737  return symbol_type (token::TOKEN_OUTPUT, l);
4738  }
4739 #endif
4740 #if 201103L <= YY_CPLUSPLUS
4741  static
4742  symbol_type
4743  make_DEBUGLEVEL (location_type l)
4744  {
4745  return symbol_type (token::TOKEN_DEBUGLEVEL, std::move (l));
4746  }
4747 #else
4748  static
4749  symbol_type
4750  make_DEBUGLEVEL (const location_type& l)
4751  {
4752  return symbol_type (token::TOKEN_DEBUGLEVEL, l);
4753  }
4754 #endif
4755 #if 201103L <= YY_CPLUSPLUS
4756  static
4757  symbol_type
4758  make_SEVERITY (location_type l)
4759  {
4760  return symbol_type (token::TOKEN_SEVERITY, std::move (l));
4761  }
4762 #else
4763  static
4764  symbol_type
4765  make_SEVERITY (const location_type& l)
4766  {
4767  return symbol_type (token::TOKEN_SEVERITY, l);
4768  }
4769 #endif
4770 #if 201103L <= YY_CPLUSPLUS
4771  static
4772  symbol_type
4773  make_FLUSH (location_type l)
4774  {
4775  return symbol_type (token::TOKEN_FLUSH, std::move (l));
4776  }
4777 #else
4778  static
4779  symbol_type
4780  make_FLUSH (const location_type& l)
4781  {
4782  return symbol_type (token::TOKEN_FLUSH, l);
4783  }
4784 #endif
4785 #if 201103L <= YY_CPLUSPLUS
4786  static
4787  symbol_type
4788  make_MAXSIZE (location_type l)
4789  {
4790  return symbol_type (token::TOKEN_MAXSIZE, std::move (l));
4791  }
4792 #else
4793  static
4794  symbol_type
4795  make_MAXSIZE (const location_type& l)
4796  {
4797  return symbol_type (token::TOKEN_MAXSIZE, l);
4798  }
4799 #endif
4800 #if 201103L <= YY_CPLUSPLUS
4801  static
4802  symbol_type
4803  make_MAXVER (location_type l)
4804  {
4805  return symbol_type (token::TOKEN_MAXVER, std::move (l));
4806  }
4807 #else
4808  static
4809  symbol_type
4810  make_MAXVER (const location_type& l)
4811  {
4812  return symbol_type (token::TOKEN_MAXVER, l);
4813  }
4814 #endif
4815 #if 201103L <= YY_CPLUSPLUS
4816  static
4817  symbol_type
4818  make_PATTERN (location_type l)
4819  {
4820  return symbol_type (token::TOKEN_PATTERN, std::move (l));
4821  }
4822 #else
4823  static
4824  symbol_type
4825  make_PATTERN (const location_type& l)
4826  {
4827  return symbol_type (token::TOKEN_PATTERN, l);
4828  }
4829 #endif
4830 #if 201103L <= YY_CPLUSPLUS
4831  static
4832  symbol_type
4833  make_COMPATIBILITY (location_type l)
4834  {
4835  return symbol_type (token::TOKEN_COMPATIBILITY, std::move (l));
4836  }
4837 #else
4838  static
4839  symbol_type
4840  make_COMPATIBILITY (const location_type& l)
4841  {
4842  return symbol_type (token::TOKEN_COMPATIBILITY, l);
4843  }
4844 #endif
4845 #if 201103L <= YY_CPLUSPLUS
4846  static
4847  symbol_type
4848  make_LENIENT_OPTION_PARSING (location_type l)
4849  {
4850  return symbol_type (token::TOKEN_LENIENT_OPTION_PARSING, std::move (l));
4851  }
4852 #else
4853  static
4854  symbol_type
4855  make_LENIENT_OPTION_PARSING (const location_type& l)
4856  {
4857  return symbol_type (token::TOKEN_LENIENT_OPTION_PARSING, l);
4858  }
4859 #endif
4860 #if 201103L <= YY_CPLUSPLUS
4861  static
4862  symbol_type
4863  make_TOPLEVEL_JSON (location_type l)
4864  {
4865  return symbol_type (token::TOKEN_TOPLEVEL_JSON, std::move (l));
4866  }
4867 #else
4868  static
4869  symbol_type
4870  make_TOPLEVEL_JSON (const location_type& l)
4871  {
4872  return symbol_type (token::TOKEN_TOPLEVEL_JSON, l);
4873  }
4874 #endif
4875 #if 201103L <= YY_CPLUSPLUS
4876  static
4877  symbol_type
4878  make_TOPLEVEL_DHCP6 (location_type l)
4879  {
4880  return symbol_type (token::TOKEN_TOPLEVEL_DHCP6, std::move (l));
4881  }
4882 #else
4883  static
4884  symbol_type
4885  make_TOPLEVEL_DHCP6 (const location_type& l)
4886  {
4887  return symbol_type (token::TOKEN_TOPLEVEL_DHCP6, l);
4888  }
4889 #endif
4890 #if 201103L <= YY_CPLUSPLUS
4891  static
4892  symbol_type
4893  make_SUB_DHCP6 (location_type l)
4894  {
4895  return symbol_type (token::TOKEN_SUB_DHCP6, std::move (l));
4896  }
4897 #else
4898  static
4899  symbol_type
4900  make_SUB_DHCP6 (const location_type& l)
4901  {
4902  return symbol_type (token::TOKEN_SUB_DHCP6, l);
4903  }
4904 #endif
4905 #if 201103L <= YY_CPLUSPLUS
4906  static
4907  symbol_type
4908  make_SUB_INTERFACES6 (location_type l)
4909  {
4910  return symbol_type (token::TOKEN_SUB_INTERFACES6, std::move (l));
4911  }
4912 #else
4913  static
4914  symbol_type
4915  make_SUB_INTERFACES6 (const location_type& l)
4916  {
4917  return symbol_type (token::TOKEN_SUB_INTERFACES6, l);
4918  }
4919 #endif
4920 #if 201103L <= YY_CPLUSPLUS
4921  static
4922  symbol_type
4923  make_SUB_SUBNET6 (location_type l)
4924  {
4925  return symbol_type (token::TOKEN_SUB_SUBNET6, std::move (l));
4926  }
4927 #else
4928  static
4929  symbol_type
4930  make_SUB_SUBNET6 (const location_type& l)
4931  {
4932  return symbol_type (token::TOKEN_SUB_SUBNET6, l);
4933  }
4934 #endif
4935 #if 201103L <= YY_CPLUSPLUS
4936  static
4937  symbol_type
4938  make_SUB_POOL6 (location_type l)
4939  {
4940  return symbol_type (token::TOKEN_SUB_POOL6, std::move (l));
4941  }
4942 #else
4943  static
4944  symbol_type
4945  make_SUB_POOL6 (const location_type& l)
4946  {
4947  return symbol_type (token::TOKEN_SUB_POOL6, l);
4948  }
4949 #endif
4950 #if 201103L <= YY_CPLUSPLUS
4951  static
4952  symbol_type
4953  make_SUB_PD_POOL (location_type l)
4954  {
4955  return symbol_type (token::TOKEN_SUB_PD_POOL, std::move (l));
4956  }
4957 #else
4958  static
4959  symbol_type
4960  make_SUB_PD_POOL (const location_type& l)
4961  {
4962  return symbol_type (token::TOKEN_SUB_PD_POOL, l);
4963  }
4964 #endif
4965 #if 201103L <= YY_CPLUSPLUS
4966  static
4967  symbol_type
4968  make_SUB_RESERVATION (location_type l)
4969  {
4970  return symbol_type (token::TOKEN_SUB_RESERVATION, std::move (l));
4971  }
4972 #else
4973  static
4974  symbol_type
4975  make_SUB_RESERVATION (const location_type& l)
4976  {
4977  return symbol_type (token::TOKEN_SUB_RESERVATION, l);
4978  }
4979 #endif
4980 #if 201103L <= YY_CPLUSPLUS
4981  static
4982  symbol_type
4983  make_SUB_OPTION_DEFS (location_type l)
4984  {
4985  return symbol_type (token::TOKEN_SUB_OPTION_DEFS, std::move (l));
4986  }
4987 #else
4988  static
4989  symbol_type
4990  make_SUB_OPTION_DEFS (const location_type& l)
4991  {
4992  return symbol_type (token::TOKEN_SUB_OPTION_DEFS, l);
4993  }
4994 #endif
4995 #if 201103L <= YY_CPLUSPLUS
4996  static
4997  symbol_type
4998  make_SUB_OPTION_DEF (location_type l)
4999  {
5000  return symbol_type (token::TOKEN_SUB_OPTION_DEF, std::move (l));
5001  }
5002 #else
5003  static
5004  symbol_type
5005  make_SUB_OPTION_DEF (const location_type& l)
5006  {
5007  return symbol_type (token::TOKEN_SUB_OPTION_DEF, l);
5008  }
5009 #endif
5010 #if 201103L <= YY_CPLUSPLUS
5011  static
5012  symbol_type
5013  make_SUB_OPTION_DATA (location_type l)
5014  {
5015  return symbol_type (token::TOKEN_SUB_OPTION_DATA, std::move (l));
5016  }
5017 #else
5018  static
5019  symbol_type
5020  make_SUB_OPTION_DATA (const location_type& l)
5021  {
5022  return symbol_type (token::TOKEN_SUB_OPTION_DATA, l);
5023  }
5024 #endif
5025 #if 201103L <= YY_CPLUSPLUS
5026  static
5027  symbol_type
5028  make_SUB_HOOKS_LIBRARY (location_type l)
5029  {
5030  return symbol_type (token::TOKEN_SUB_HOOKS_LIBRARY, std::move (l));
5031  }
5032 #else
5033  static
5034  symbol_type
5035  make_SUB_HOOKS_LIBRARY (const location_type& l)
5036  {
5037  return symbol_type (token::TOKEN_SUB_HOOKS_LIBRARY, l);
5038  }
5039 #endif
5040 #if 201103L <= YY_CPLUSPLUS
5041  static
5042  symbol_type
5043  make_SUB_DHCP_DDNS (location_type l)
5044  {
5045  return symbol_type (token::TOKEN_SUB_DHCP_DDNS, std::move (l));
5046  }
5047 #else
5048  static
5049  symbol_type
5050  make_SUB_DHCP_DDNS (const location_type& l)
5051  {
5052  return symbol_type (token::TOKEN_SUB_DHCP_DDNS, l);
5053  }
5054 #endif
5055 #if 201103L <= YY_CPLUSPLUS
5056  static
5057  symbol_type
5058  make_SUB_CONFIG_CONTROL (location_type l)
5059  {
5060  return symbol_type (token::TOKEN_SUB_CONFIG_CONTROL, std::move (l));
5061  }
5062 #else
5063  static
5064  symbol_type
5065  make_SUB_CONFIG_CONTROL (const location_type& l)
5066  {
5067  return symbol_type (token::TOKEN_SUB_CONFIG_CONTROL, l);
5068  }
5069 #endif
5070 #if 201103L <= YY_CPLUSPLUS
5071  static
5072  symbol_type
5073  make_STRING (std::string v, location_type l)
5074  {
5075  return symbol_type (token::TOKEN_STRING, std::move (v), std::move (l));
5076  }
5077 #else
5078  static
5079  symbol_type
5080  make_STRING (const std::string& v, const location_type& l)
5081  {
5082  return symbol_type (token::TOKEN_STRING, v, l);
5083  }
5084 #endif
5085 #if 201103L <= YY_CPLUSPLUS
5086  static
5087  symbol_type
5088  make_INTEGER (int64_t v, location_type l)
5089  {
5090  return symbol_type (token::TOKEN_INTEGER, std::move (v), std::move (l));
5091  }
5092 #else
5093  static
5094  symbol_type
5095  make_INTEGER (const int64_t& v, const location_type& l)
5096  {
5097  return symbol_type (token::TOKEN_INTEGER, v, l);
5098  }
5099 #endif
5100 #if 201103L <= YY_CPLUSPLUS
5101  static
5102  symbol_type
5103  make_FLOAT (double v, location_type l)
5104  {
5105  return symbol_type (token::TOKEN_FLOAT, std::move (v), std::move (l));
5106  }
5107 #else
5108  static
5109  symbol_type
5110  make_FLOAT (const double& v, const location_type& l)
5111  {
5112  return symbol_type (token::TOKEN_FLOAT, v, l);
5113  }
5114 #endif
5115 #if 201103L <= YY_CPLUSPLUS
5116  static
5117  symbol_type
5118  make_BOOLEAN (bool v, location_type l)
5119  {
5120  return symbol_type (token::TOKEN_BOOLEAN, std::move (v), std::move (l));
5121  }
5122 #else
5123  static
5124  symbol_type
5125  make_BOOLEAN (const bool& v, const location_type& l)
5126  {
5127  return symbol_type (token::TOKEN_BOOLEAN, v, l);
5128  }
5129 #endif
5130 
5131 
5132  class context
5133  {
5134  public:
5135  context (const Dhcp6Parser& yyparser, const symbol_type& yyla);
5136  const symbol_type& lookahead () const YY_NOEXCEPT { return yyla_; }
5137  symbol_kind_type token () const YY_NOEXCEPT { return yyla_.kind (); }
5138  const location_type& location () const YY_NOEXCEPT { return yyla_.location; }
5139 
5143  int expected_tokens (symbol_kind_type yyarg[], int yyargn) const;
5144 
5145  private:
5146  const Dhcp6Parser& yyparser_;
5147  const symbol_type& yyla_;
5148  };
5149 
5150  private:
5151 #if YY_CPLUSPLUS < 201103L
5152  Dhcp6Parser (const Dhcp6Parser&);
5155  Dhcp6Parser& operator= (const Dhcp6Parser&);
5156 #endif
5157 
5158 
5160  typedef short state_type;
5161 
5163  int yy_syntax_error_arguments_ (const context& yyctx,
5164  symbol_kind_type yyarg[], int yyargn) const;
5165 
5168  virtual std::string yysyntax_error_ (const context& yyctx) const;
5172  static state_type yy_lr_goto_state_ (state_type yystate, int yysym);
5173 
5176  static bool yy_pact_value_is_default_ (int yyvalue) YY_NOEXCEPT;
5177 
5180  static bool yy_table_value_is_error_ (int yyvalue) YY_NOEXCEPT;
5181 
5182  static const short yypact_ninf_;
5183  static const signed char yytable_ninf_;
5184 
5188  static symbol_kind_type yytranslate_ (int t) YY_NOEXCEPT;
5189 
5191  static std::string yytnamerr_ (const char *yystr);
5192 
5194  static const char* const yytname_[];
5195 
5196 
5197  // Tables.
5198  // YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
5199  // STATE-NUM.
5200  static const short yypact_[];
5201 
5202  // YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
5203  // Performed when YYTABLE does not specify something else to do. Zero
5204  // means the default is an error.
5205  static const short yydefact_[];
5206 
5207  // YYPGOTO[NTERM-NUM].
5208  static const short yypgoto_[];
5209 
5210  // YYDEFGOTO[NTERM-NUM].
5211  static const short yydefgoto_[];
5212 
5213  // YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
5214  // positive, shift that token. If negative, reduce the rule whose
5215  // number is the opposite. If YYTABLE_NINF, syntax error.
5216  static const short yytable_[];
5217 
5218  static const short yycheck_[];
5219 
5220  // YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of
5221  // state STATE-NUM.
5222  static const short yystos_[];
5223 
5224  // YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM.
5225  static const short yyr1_[];
5226 
5227  // YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM.
5228  static const signed char yyr2_[];
5229 
5230 
5231 #if PARSER6_DEBUG
5232  // YYRLINE[YYN] -- Source line where rule number YYN was defined.
5233  static const short yyrline_[];
5235  virtual void yy_reduce_print_ (int r) const;
5237  virtual void yy_stack_print_ () const;
5238 
5240  int yydebug_;
5242  std::ostream* yycdebug_;
5243 
5247  template <typename Base>
5248  void yy_print_ (std::ostream& yyo, const basic_symbol<Base>& yysym) const;
5249 #endif
5250 
5255  template <typename Base>
5256  void yy_destroy_ (const char* yymsg, basic_symbol<Base>& yysym) const;
5257 
5258  private:
5260  struct by_state
5261  {
5263  by_state () YY_NOEXCEPT;
5264 
5266  typedef state_type kind_type;
5267 
5269  by_state (kind_type s) YY_NOEXCEPT;
5270 
5272  by_state (const by_state& that) YY_NOEXCEPT;
5273 
5275  void clear () YY_NOEXCEPT;
5276 
5278  void move (by_state& that);
5279 
5282  symbol_kind_type kind () const YY_NOEXCEPT;
5283 
5286  enum { empty_state = 0 };
5287 
5290  state_type state;
5291  };
5292 
5294  struct stack_symbol_type : basic_symbol<by_state>
5295  {
5297  typedef basic_symbol<by_state> super_type;
5299  stack_symbol_type ();
5301  stack_symbol_type (YY_RVREF (stack_symbol_type) that);
5303  stack_symbol_type (state_type s, YY_MOVE_REF (symbol_type) sym);
5304 #if YY_CPLUSPLUS < 201103L
5305  stack_symbol_type& operator= (stack_symbol_type& that);
5308 
5311  stack_symbol_type& operator= (const stack_symbol_type& that);
5312 #endif
5313  };
5314 
5316  template <typename T, typename S = std::vector<T> >
5317  class stack
5318  {
5319  public:
5320  // Hide our reversed order.
5321  typedef typename S::iterator iterator;
5322  typedef typename S::const_iterator const_iterator;
5323  typedef typename S::size_type size_type;
5324  typedef typename std::ptrdiff_t index_type;
5325 
5326  stack (size_type n = 200) YY_NOEXCEPT
5327  : seq_ (n)
5328  {}
5329 
5330 #if 201103L <= YY_CPLUSPLUS
5331  stack (const stack&) = delete;
5334  stack& operator= (const stack&) = delete;
5335 #endif
5336 
5340  const T&
5341  operator[] (index_type i) const
5342  {
5343  return seq_[size_type (size () - 1 - i)];
5344  }
5345 
5349  T&
5350  operator[] (index_type i)
5351  {
5352  return seq_[size_type (size () - 1 - i)];
5353  }
5354 
5358  void
5359  push (YY_MOVE_REF (T) t)
5360  {
5361  seq_.push_back (T ());
5362  operator[] (0).move (t);
5363  }
5364 
5366  void
5367  pop (std::ptrdiff_t n = 1) YY_NOEXCEPT
5368  {
5369  for (; 0 < n; --n)
5370  seq_.pop_back ();
5371  }
5372 
5374  void
5375  clear () YY_NOEXCEPT
5376  {
5377  seq_.clear ();
5378  }
5379 
5381  index_type
5382  size () const YY_NOEXCEPT
5383  {
5384  return index_type (seq_.size ());
5385  }
5386 
5388  const_iterator
5389  begin () const YY_NOEXCEPT
5390  {
5391  return seq_.begin ();
5392  }
5393 
5395  const_iterator
5396  end () const YY_NOEXCEPT
5397  {
5398  return seq_.end ();
5399  }
5400 
5402  class slice
5403  {
5404  public:
5405  slice (const stack& stack, index_type range) YY_NOEXCEPT
5406  : stack_ (stack)
5407  , range_ (range)
5408  {}
5409 
5410  const T&
5411  operator[] (index_type i) const
5412  {
5413  return stack_[range_ - i];
5414  }
5415 
5416  private:
5417  const stack& stack_;
5418  index_type range_;
5419  };
5420 
5421  private:
5422 #if YY_CPLUSPLUS < 201103L
5423  stack (const stack&);
5426  stack& operator= (const stack&);
5427 #endif
5428  S seq_;
5430  };
5431 
5432 
5434  typedef stack<stack_symbol_type> stack_type;
5435 
5437  stack_type yystack_;
5438 
5444  void yypush_ (const char* m, YY_MOVE_REF (stack_symbol_type) sym);
5445 
5452  void yypush_ (const char* m, state_type s, YY_MOVE_REF (symbol_type) sym);
5453 
5455  void yypop_ (int n = 1) YY_NOEXCEPT;
5456 
5458  enum
5459  {
5460  yylast_ = 1364,
5461  yynnts_ = 453,
5462  yyfinal_ = 30
5463  };
5464 
5465 
5466  // User arguments.
5468 
5469  };
5470 
5471  inline
5473  Dhcp6Parser::yytranslate_ (int t) YY_NOEXCEPT
5474  {
5475  // YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to
5476  // TOKEN-NUM as returned by yylex.
5477  static
5478  const unsigned char
5479  translate_table[] =
5480  {
5481  0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5482  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5483  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5484  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5485  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5486  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5487  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5488  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5489  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5490  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5491  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5492  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5493  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5494  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5495  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5496  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5497  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5498  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5499  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5500  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5501  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5502  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5503  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5504  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5505  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5506  2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
5507  5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
5508  15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
5509  25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
5510  35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
5511  45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
5512  55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
5513  65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
5514  75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
5515  85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
5516  95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
5517  105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
5518  115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
5519  125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
5520  135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
5521  145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
5522  155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
5523  165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
5524  175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
5525  185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
5526  195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
5527  205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
5528  215, 216, 217, 218, 219, 220
5529  };
5530  // Last valid token kind.
5531  const int code_max = 475;
5532 
5533  if (t <= 0)
5534  return symbol_kind::S_YYEOF;
5535  else if (t <= code_max)
5536  return static_cast <symbol_kind_type> (translate_table[t]);
5537  else
5538  return symbol_kind::S_YYUNDEF;
5539  }
5540 
5541  // basic_symbol.
5542  template <typename Base>
5544  : Base (that)
5545  , value ()
5546  , location (that.location)
5547  {
5548  switch (this->kind ())
5549  {
5550  case symbol_kind::S_value: // value
5551  case symbol_kind::S_map_value: // map_value
5552  case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value
5553  case symbol_kind::S_db_type: // db_type
5554  case symbol_kind::S_on_fail_mode: // on_fail_mode
5555  case symbol_kind::S_hr_mode: // hr_mode
5556  case symbol_kind::S_duid_type: // duid_type
5557  case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value
5558  value.copy< ElementPtr > (YY_MOVE (that.value));
5559  break;
5560 
5561  case symbol_kind::S_BOOLEAN: // "boolean"
5562  value.copy< bool > (YY_MOVE (that.value));
5563  break;
5564 
5565  case symbol_kind::S_FLOAT: // "floating point"
5566  value.copy< double > (YY_MOVE (that.value));
5567  break;
5568 
5569  case symbol_kind::S_INTEGER: // "integer"
5570  value.copy< int64_t > (YY_MOVE (that.value));
5571  break;
5572 
5573  case symbol_kind::S_STRING: // "constant string"
5574  value.copy< std::string > (YY_MOVE (that.value));
5575  break;
5576 
5577  default:
5578  break;
5579  }
5580 
5581  }
5582 
5583 
5584 
5585 
5586  template <typename Base>
5589  {
5590  return this->kind ();
5591  }
5592 
5593 
5594  template <typename Base>
5595  bool
5597  {
5598  return this->kind () == symbol_kind::S_YYEMPTY;
5599  }
5600 
5601  template <typename Base>
5602  void
5604  {
5605  super_type::move (s);
5606  switch (this->kind ())
5607  {
5608  case symbol_kind::S_value: // value
5609  case symbol_kind::S_map_value: // map_value
5610  case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value
5611  case symbol_kind::S_db_type: // db_type
5612  case symbol_kind::S_on_fail_mode: // on_fail_mode
5613  case symbol_kind::S_hr_mode: // hr_mode
5614  case symbol_kind::S_duid_type: // duid_type
5615  case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value
5616  value.move< ElementPtr > (YY_MOVE (s.value));
5617  break;
5618 
5619  case symbol_kind::S_BOOLEAN: // "boolean"
5620  value.move< bool > (YY_MOVE (s.value));
5621  break;
5622 
5623  case symbol_kind::S_FLOAT: // "floating point"
5624  value.move< double > (YY_MOVE (s.value));
5625  break;
5626 
5627  case symbol_kind::S_INTEGER: // "integer"
5628  value.move< int64_t > (YY_MOVE (s.value));
5629  break;
5630 
5631  case symbol_kind::S_STRING: // "constant string"
5632  value.move< std::string > (YY_MOVE (s.value));
5633  break;
5634 
5635  default:
5636  break;