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