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