| Kea 3.0.2-git

agent_parser.h
Go to the documentation of this file.
1// A Bison parser, made by GNU Bison 3.8.2.
2
3// Skeleton interface for Bison LALR(1) parsers in C++
4
5// Copyright (C) 2002-2015, 2018-2021 Free Software Foundation, Inc.
6
7// This program is free software: you can redistribute it and/or modify
8// it under the terms of the GNU General Public License as published by
9// the Free Software Foundation, either version 3 of the License, or
10// (at your option) any later version.
11
12// This program is distributed in the hope that it will be useful,
13// but WITHOUT ANY WARRANTY; without even the implied warranty of
14// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15// GNU General Public License for more details.
16
17// You should have received a copy of the GNU General Public License
18// along with this program. If not, see <https://www.gnu.org/licenses/>.
19
20// As a special exception, you may create a larger work that contains
21// part or all of the Bison parser skeleton and distribute that work
22// under terms of your choice, so long as that work isn't itself a
23// parser generator using the skeleton or a modified version thereof
24// as a parser skeleton. Alternatively, if you modify or redistribute
25// the parser skeleton itself, you may (at your option) remove this
26// special exception, which will cause the skeleton and the resulting
27// Bison output files to be licensed under the GNU General Public
28// License without this special exception.
29
30// This special exception was added by the Free Software Foundation in
31// version 2.2 of Bison.
32
33
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_AGENT_AGENT_PARSER_H_INCLUDED
46# define YY_AGENT_AGENT_PARSER_H_INCLUDED
47// "%code requires" blocks.
48#line 17 "agent_parser.yy"
49
50#include <string>
51#include <cc/data.h>
52#include <boost/lexical_cast.hpp>
53#include <agent/parser_context_decl.h>
54
55 using namespace isc::agent;
56 using namespace isc::data;
57 using namespace std;
58
59#line 60 "agent_parser.h"
60
61# include <cassert>
62# include <cstdlib> // std::abort
63# include <iostream>
64# include <stdexcept>
65# include <string>
66# include <vector>
67
68#if defined __cplusplus
69# define YY_CPLUSPLUS __cplusplus
70#else
71# define YY_CPLUSPLUS 199711L
72#endif
73
74// Support move semantics when possible.
75#if 201103L <= YY_CPLUSPLUS
76# define YY_MOVE std::move
77# define YY_MOVE_OR_COPY move
78# define YY_MOVE_REF(Type) Type&&
79# define YY_RVREF(Type) Type&&
80# define YY_COPY(Type) Type
81#else
82# define YY_MOVE
83# define YY_MOVE_OR_COPY copy
84# define YY_MOVE_REF(Type) Type&
85# define YY_RVREF(Type) const Type&
86# define YY_COPY(Type) const Type&
87#endif
88
89// Support noexcept when possible.
90#if 201103L <= YY_CPLUSPLUS
91# define YY_NOEXCEPT noexcept
92# define YY_NOTHROW
93#else
94# define YY_NOEXCEPT
95# define YY_NOTHROW throw ()
96#endif
97
98// Support constexpr when possible.
99#if 201703 <= YY_CPLUSPLUS
100# define YY_CONSTEXPR constexpr
101#else
102# define YY_CONSTEXPR
103#endif
104# include "location.hh"
105#include <typeinfo>
106#ifndef AGENT__ASSERT
107# include <cassert>
108# define AGENT__ASSERT assert
109#endif
110
111
112#ifndef YY_ATTRIBUTE_PURE
113# if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__)
114# define YY_ATTRIBUTE_PURE __attribute__ ((__pure__))
115# else
116# define YY_ATTRIBUTE_PURE
117# endif
118#endif
119
120#ifndef YY_ATTRIBUTE_UNUSED
121# if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__)
122# define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
123# else
124# define YY_ATTRIBUTE_UNUSED
125# endif
126#endif
127
128/* Suppress unused-variable warnings by "using" E. */
129#if ! defined lint || defined __GNUC__
130# define YY_USE(E) ((void) (E))
131#else
132# define YY_USE(E) /* empty */
133#endif
134
135/* Suppress an incorrect diagnostic about yylval being uninitialized. */
136#if defined __GNUC__ && ! defined __ICC && 406 <= __GNUC__ * 100 + __GNUC_MINOR__
137# if __GNUC__ * 100 + __GNUC_MINOR__ < 407
138# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
139 _Pragma ("GCC diagnostic push") \
140 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")
141# else
142# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
143 _Pragma ("GCC diagnostic push") \
144 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") \
145 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
146# endif
147# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
148 _Pragma ("GCC diagnostic pop")
149#else
150# define YY_INITIAL_VALUE(Value) Value
151#endif
152#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
153# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
154# define YY_IGNORE_MAYBE_UNINITIALIZED_END
155#endif
156#ifndef YY_INITIAL_VALUE
157# define YY_INITIAL_VALUE(Value) /* Nothing. */
158#endif
159
160#if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__
161# define YY_IGNORE_USELESS_CAST_BEGIN \
162 _Pragma ("GCC diagnostic push") \
163 _Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"")
164# define YY_IGNORE_USELESS_CAST_END \
165 _Pragma ("GCC diagnostic pop")
166#endif
167#ifndef YY_IGNORE_USELESS_CAST_BEGIN
168# define YY_IGNORE_USELESS_CAST_BEGIN
169# define YY_IGNORE_USELESS_CAST_END
170#endif
171
172# ifndef YY_CAST
173# ifdef __cplusplus
174# define YY_CAST(Type, Val) static_cast<Type> (Val)
175# define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val)
176# else
177# define YY_CAST(Type, Val) ((Type) (Val))
178# define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val))
179# endif
180# endif
181# ifndef YY_NULLPTR
182# if defined __cplusplus
183# if 201103L <= __cplusplus
184# define YY_NULLPTR nullptr
185# else
186# define YY_NULLPTR 0
187# endif
188# else
189# define YY_NULLPTR ((void*)0)
190# endif
191# endif
192
193/* Debug traces. */
194#ifndef AGENT_DEBUG
195# if defined YYDEBUG
196#if YYDEBUG
197# define AGENT_DEBUG 1
198# else
199# define AGENT_DEBUG 0
200# endif
201# else /* ! defined YYDEBUG */
202# define AGENT_DEBUG 1
203# endif /* ! defined YYDEBUG */
204#endif /* ! defined AGENT_DEBUG */
205
206#line 14 "agent_parser.yy"
207 namespace isc { namespace agent {
208#line 209 "agent_parser.h"
209
210
211
212
214 class AgentParser
215 {
216 public:
217#ifdef AGENT_STYPE
218# ifdef __GNUC__
219# pragma GCC message "bison: do not #define AGENT_STYPE in C++, use %define api.value.type"
220# endif
221 typedef AGENT_STYPE value_type;
222#else
228 class value_type
229 {
230 public:
232 typedef value_type self_type;
233
235 value_type () YY_NOEXCEPT
236 : yyraw_ ()
237 , yytypeid_ (YY_NULLPTR)
238 {}
239
241 template <typename T>
242 value_type (YY_RVREF (T) t)
243 : yytypeid_ (&typeid (T))
244 {
245 AGENT__ASSERT (sizeof (T) <= size);
246 new (yyas_<T> ()) T (YY_MOVE (t));
247 }
248
249#if 201103L <= YY_CPLUSPLUS
251 value_type (const self_type&) = delete;
253 self_type& operator= (const self_type&) = delete;
254#endif
255
257 ~value_type () YY_NOEXCEPT
258 {
259 AGENT__ASSERT (!yytypeid_);
260 }
261
262# if 201103L <= YY_CPLUSPLUS
264 template <typename T, typename... U>
265 T&
266 emplace (U&&... u)
267 {
268 AGENT__ASSERT (!yytypeid_);
269 AGENT__ASSERT (sizeof (T) <= size);
270 yytypeid_ = & typeid (T);
271 return *new (yyas_<T> ()) T (std::forward <U>(u)...);
272 }
273# else
275 template <typename T>
276 T&
277 emplace ()
278 {
279 AGENT__ASSERT (!yytypeid_);
280 AGENT__ASSERT (sizeof (T) <= size);
281 yytypeid_ = & typeid (T);
282 return *new (yyas_<T> ()) T ();
283 }
284
286 template <typename T>
287 T&
288 emplace (const T& t)
289 {
290 AGENT__ASSERT (!yytypeid_);
291 AGENT__ASSERT (sizeof (T) <= size);
292 yytypeid_ = & typeid (T);
293 return *new (yyas_<T> ()) T (t);
294 }
295# endif
296
299 template <typename T>
300 T&
301 build ()
302 {
303 return emplace<T> ();
304 }
305
308 template <typename T>
309 T&
310 build (const T& t)
311 {
312 return emplace<T> (t);
313 }
314
316 template <typename T>
317 T&
318 as () YY_NOEXCEPT
319 {
320 AGENT__ASSERT (yytypeid_);
321 AGENT__ASSERT (*yytypeid_ == typeid (T));
322 AGENT__ASSERT (sizeof (T) <= size);
323 return *yyas_<T> ();
324 }
325
327 template <typename T>
328 const T&
329 as () const YY_NOEXCEPT
330 {
331 AGENT__ASSERT (yytypeid_);
332 AGENT__ASSERT (*yytypeid_ == typeid (T));
333 AGENT__ASSERT (sizeof (T) <= size);
334 return *yyas_<T> ();
335 }
336
345 template <typename T>
346 void
347 swap (self_type& that) YY_NOEXCEPT
348 {
349 AGENT__ASSERT (yytypeid_);
350 AGENT__ASSERT (*yytypeid_ == *that.yytypeid_);
351 std::swap (as<T> (), that.as<T> ());
352 }
353
357 template <typename T>
358 void
359 move (self_type& that)
360 {
361# if 201103L <= YY_CPLUSPLUS
362 emplace<T> (std::move (that.as<T> ()));
363# else
364 emplace<T> ();
365 swap<T> (that);
366# endif
367 that.destroy<T> ();
368 }
369
370# if 201103L <= YY_CPLUSPLUS
372 template <typename T>
373 void
374 move (self_type&& that)
375 {
376 emplace<T> (std::move (that.as<T> ()));
377 that.destroy<T> ();
378 }
379#endif
380
382 template <typename T>
383 void
384 copy (const self_type& that)
385 {
386 emplace<T> (that.as<T> ());
387 }
388
390 template <typename T>
391 void
392 destroy ()
393 {
394 as<T> ().~T ();
395 yytypeid_ = YY_NULLPTR;
396 }
397
398 private:
399#if YY_CPLUSPLUS < 201103L
401 value_type (const self_type&);
403 self_type& operator= (const self_type&);
404#endif
405
407 template <typename T>
408 T*
409 yyas_ () YY_NOEXCEPT
410 {
411 void *yyp = yyraw_;
412 return static_cast<T*> (yyp);
413 }
414
416 template <typename T>
417 const T*
418 yyas_ () const YY_NOEXCEPT
419 {
420 const void *yyp = yyraw_;
421 return static_cast<const T*> (yyp);
422 }
423
425 union union_type
426 {
427 // value
428 // map_value
429 // socket_type_value
430 // auth_type_value
431 char dummy1[sizeof (ElementPtr)];
432
433 // "boolean"
434 char dummy2[sizeof (bool)];
435
436 // "floating point"
437 char dummy3[sizeof (double)];
438
439 // "integer"
440 char dummy4[sizeof (int64_t)];
441
442 // "constant string"
443 char dummy5[sizeof (std::string)];
444 };
445
447 enum { size = sizeof (union_type) };
448
450 union
451 {
453 long double yyalign_me_;
455 char yyraw_[size];
456 };
457
459 const std::type_info *yytypeid_;
460 };
461
462#endif
464 typedef value_type semantic_type;
465
467 typedef location location_type;
468
470 struct syntax_error : std::runtime_error
471 {
472 syntax_error (const location_type& l, const std::string& m)
473 : std::runtime_error (m)
474 , location (l)
475 {}
476
477 syntax_error (const syntax_error& s)
478 : std::runtime_error (s.what ())
479 , location (s.location)
480 {}
481
482 ~syntax_error () YY_NOEXCEPT YY_NOTHROW;
483
484 location_type location;
485 };
486
488 struct token
489 {
490 enum token_kind_type
491 {
492 TOKEN_AGENT_EMPTY = -2,
493 TOKEN_END = 0, // "end of file"
494 TOKEN_AGENT_error = 256, // error
495 TOKEN_AGENT_UNDEF = 257, // "invalid token"
496 TOKEN_COMMA = 258, // ","
497 TOKEN_COLON = 259, // ":"
498 TOKEN_LSQUARE_BRACKET = 260, // "["
499 TOKEN_RSQUARE_BRACKET = 261, // "]"
500 TOKEN_LCURLY_BRACKET = 262, // "{"
501 TOKEN_RCURLY_BRACKET = 263, // "}"
502 TOKEN_NULL_TYPE = 264, // "null"
503 TOKEN_CONTROL_AGENT = 265, // "Control-agent"
504 TOKEN_HTTP_HOST = 266, // "http-host"
505 TOKEN_HTTP_PORT = 267, // "http-port"
506 TOKEN_HTTP_HEADERS = 268, // "http-headers"
507 TOKEN_USER_CONTEXT = 269, // "user-context"
508 TOKEN_COMMENT = 270, // "comment"
509 TOKEN_NAME = 271, // "name"
510 TOKEN_VALUE = 272, // "value"
511 TOKEN_AUTHENTICATION = 273, // "authentication"
512 TOKEN_TYPE = 274, // "type"
513 TOKEN_BASIC = 275, // "basic"
514 TOKEN_REALM = 276, // "realm"
515 TOKEN_DIRECTORY = 277, // "directory"
516 TOKEN_CLIENTS = 278, // "clients"
517 TOKEN_USER = 279, // "user"
518 TOKEN_USER_FILE = 280, // "user-file"
519 TOKEN_PASSWORD = 281, // "password"
520 TOKEN_PASSWORD_FILE = 282, // "password-file"
521 TOKEN_TRUST_ANCHOR = 283, // "trust-anchor"
522 TOKEN_CERT_FILE = 284, // "cert-file"
523 TOKEN_KEY_FILE = 285, // "key-file"
524 TOKEN_CERT_REQUIRED = 286, // "cert-required"
525 TOKEN_CONTROL_SOCKETS = 287, // "control-sockets"
526 TOKEN_DHCP4_SERVER = 288, // "dhcp4"
527 TOKEN_DHCP6_SERVER = 289, // "dhcp6"
528 TOKEN_D2_SERVER = 290, // "d2"
529 TOKEN_SOCKET_NAME = 291, // "socket-name"
530 TOKEN_SOCKET_TYPE = 292, // "socket-type"
531 TOKEN_UNIX = 293, // "unix"
532 TOKEN_HOOKS_LIBRARIES = 294, // "hooks-libraries"
533 TOKEN_LIBRARY = 295, // "library"
534 TOKEN_PARAMETERS = 296, // "parameters"
535 TOKEN_LOGGERS = 297, // "loggers"
536 TOKEN_OUTPUT_OPTIONS = 298, // "output-options"
537 TOKEN_OUTPUT = 299, // "output"
538 TOKEN_DEBUGLEVEL = 300, // "debuglevel"
539 TOKEN_SEVERITY = 301, // "severity"
540 TOKEN_FLUSH = 302, // "flush"
541 TOKEN_MAXSIZE = 303, // "maxsize"
542 TOKEN_MAXVER = 304, // "maxver"
543 TOKEN_PATTERN = 305, // "pattern"
544 TOKEN_START_JSON = 306, // START_JSON
545 TOKEN_START_AGENT = 307, // START_AGENT
546 TOKEN_START_SUB_AGENT = 308, // START_SUB_AGENT
547 TOKEN_STRING = 309, // "constant string"
548 TOKEN_INTEGER = 310, // "integer"
549 TOKEN_FLOAT = 311, // "floating point"
550 TOKEN_BOOLEAN = 312 // "boolean"
551 };
552
553 typedef token_kind_type yytokentype;
554 };
555
557 typedef token::token_kind_type token_kind_type;
558
560 typedef token_kind_type token_type;
561
563 struct symbol_kind
564 {
565 enum symbol_kind_type
566 {
567 YYNTOKENS = 58,
568 S_YYEMPTY = -2,
569 S_YYEOF = 0, // "end of file"
570 S_YYerror = 1, // error
571 S_YYUNDEF = 2, // "invalid token"
572 S_COMMA = 3, // ","
573 S_COLON = 4, // ":"
574 S_LSQUARE_BRACKET = 5, // "["
575 S_RSQUARE_BRACKET = 6, // "]"
576 S_LCURLY_BRACKET = 7, // "{"
577 S_RCURLY_BRACKET = 8, // "}"
578 S_NULL_TYPE = 9, // "null"
579 S_CONTROL_AGENT = 10, // "Control-agent"
580 S_HTTP_HOST = 11, // "http-host"
581 S_HTTP_PORT = 12, // "http-port"
582 S_HTTP_HEADERS = 13, // "http-headers"
583 S_USER_CONTEXT = 14, // "user-context"
584 S_COMMENT = 15, // "comment"
585 S_NAME = 16, // "name"
586 S_VALUE = 17, // "value"
587 S_AUTHENTICATION = 18, // "authentication"
588 S_TYPE = 19, // "type"
589 S_BASIC = 20, // "basic"
590 S_REALM = 21, // "realm"
591 S_DIRECTORY = 22, // "directory"
592 S_CLIENTS = 23, // "clients"
593 S_USER = 24, // "user"
594 S_USER_FILE = 25, // "user-file"
595 S_PASSWORD = 26, // "password"
596 S_PASSWORD_FILE = 27, // "password-file"
597 S_TRUST_ANCHOR = 28, // "trust-anchor"
598 S_CERT_FILE = 29, // "cert-file"
599 S_KEY_FILE = 30, // "key-file"
600 S_CERT_REQUIRED = 31, // "cert-required"
601 S_CONTROL_SOCKETS = 32, // "control-sockets"
602 S_DHCP4_SERVER = 33, // "dhcp4"
603 S_DHCP6_SERVER = 34, // "dhcp6"
604 S_D2_SERVER = 35, // "d2"
605 S_SOCKET_NAME = 36, // "socket-name"
606 S_SOCKET_TYPE = 37, // "socket-type"
607 S_UNIX = 38, // "unix"
608 S_HOOKS_LIBRARIES = 39, // "hooks-libraries"
609 S_LIBRARY = 40, // "library"
610 S_PARAMETERS = 41, // "parameters"
611 S_LOGGERS = 42, // "loggers"
612 S_OUTPUT_OPTIONS = 43, // "output-options"
613 S_OUTPUT = 44, // "output"
614 S_DEBUGLEVEL = 45, // "debuglevel"
615 S_SEVERITY = 46, // "severity"
616 S_FLUSH = 47, // "flush"
617 S_MAXSIZE = 48, // "maxsize"
618 S_MAXVER = 49, // "maxver"
619 S_PATTERN = 50, // "pattern"
620 S_START_JSON = 51, // START_JSON
621 S_START_AGENT = 52, // START_AGENT
622 S_START_SUB_AGENT = 53, // START_SUB_AGENT
623 S_STRING = 54, // "constant string"
624 S_INTEGER = 55, // "integer"
625 S_FLOAT = 56, // "floating point"
626 S_BOOLEAN = 57, // "boolean"
627 S_YYACCEPT = 58, // $accept
628 S_start = 59, // start
629 S_60_1 = 60, // $@1
630 S_61_2 = 61, // $@2
631 S_62_3 = 62, // $@3
632 S_sub_agent = 63, // sub_agent
633 S_64_4 = 64, // $@4
634 S_json = 65, // json
635 S_value = 66, // value
636 S_map = 67, // map
637 S_68_5 = 68, // $@5
638 S_map_value = 69, // map_value
639 S_map_content = 70, // map_content
640 S_not_empty_map = 71, // not_empty_map
641 S_list_generic = 72, // list_generic
642 S_73_6 = 73, // $@6
643 S_list_content = 74, // list_content
644 S_not_empty_list = 75, // not_empty_list
645 S_unknown_map_entry = 76, // unknown_map_entry
646 S_agent_syntax_map = 77, // agent_syntax_map
647 S_78_7 = 78, // $@7
648 S_global_object = 79, // global_object
649 S_80_8 = 80, // $@8
650 S_global_object_comma = 81, // global_object_comma
651 S_global_params = 82, // global_params
652 S_global_param = 83, // global_param
653 S_http_host = 84, // http_host
654 S_85_9 = 85, // $@9
655 S_http_port = 86, // http_port
656 S_trust_anchor = 87, // trust_anchor
657 S_88_10 = 88, // $@10
658 S_cert_file = 89, // cert_file
659 S_90_11 = 90, // $@11
660 S_key_file = 91, // key_file
661 S_92_12 = 92, // $@12
662 S_cert_required = 93, // cert_required
663 S_user_context = 94, // user_context
664 S_95_13 = 95, // $@13
665 S_comment = 96, // comment
666 S_97_14 = 97, // $@14
667 S_http_headers = 98, // http_headers
668 S_99_15 = 99, // $@15
669 S_http_header_list = 100, // http_header_list
670 S_not_empty_http_header_list = 101, // not_empty_http_header_list
671 S_http_header = 102, // http_header
672 S_103_16 = 103, // $@16
673 S_http_header_params = 104, // http_header_params
674 S_http_header_param = 105, // http_header_param
675 S_name = 106, // name
676 S_107_17 = 107, // $@17
677 S_header_value = 108, // header_value
678 S_109_18 = 109, // $@18
679 S_hooks_libraries = 110, // hooks_libraries
680 S_111_19 = 111, // $@19
681 S_hooks_libraries_list = 112, // hooks_libraries_list
682 S_not_empty_hooks_libraries_list = 113, // not_empty_hooks_libraries_list
683 S_hooks_library = 114, // hooks_library
684 S_115_20 = 115, // $@20
685 S_hooks_params = 116, // hooks_params
686 S_hooks_param = 117, // hooks_param
687 S_library = 118, // library
688 S_119_21 = 119, // $@21
689 S_parameters = 120, // parameters
690 S_121_22 = 121, // $@22
691 S_control_sockets = 122, // control_sockets
692 S_123_23 = 123, // $@23
693 S_control_sockets_params = 124, // control_sockets_params
694 S_control_socket = 125, // control_socket
695 S_dhcp4_server_socket = 126, // dhcp4_server_socket
696 S_127_24 = 127, // $@24
697 S_dhcp6_server_socket = 128, // dhcp6_server_socket
698 S_129_25 = 129, // $@25
699 S_d2_server_socket = 130, // d2_server_socket
700 S_131_26 = 131, // $@26
701 S_control_socket_params = 132, // control_socket_params
702 S_control_socket_param = 133, // control_socket_param
703 S_socket_name = 134, // socket_name
704 S_135_27 = 135, // $@27
705 S_socket_type = 136, // socket_type
706 S_137_28 = 137, // $@28
707 S_socket_type_value = 138, // socket_type_value
708 S_authentication = 139, // authentication
709 S_140_29 = 140, // $@29
710 S_auth_params = 141, // auth_params
711 S_auth_param = 142, // auth_param
712 S_auth_type = 143, // auth_type
713 S_144_30 = 144, // $@30
714 S_auth_type_value = 145, // auth_type_value
715 S_realm = 146, // realm
716 S_147_31 = 147, // $@31
717 S_directory = 148, // directory
718 S_149_32 = 149, // $@32
719 S_clients = 150, // clients
720 S_151_33 = 151, // $@33
721 S_clients_list = 152, // clients_list
722 S_not_empty_clients_list = 153, // not_empty_clients_list
723 S_basic_auth = 154, // basic_auth
724 S_155_34 = 155, // $@34
725 S_clients_params = 156, // clients_params
726 S_clients_param = 157, // clients_param
727 S_user = 158, // user
728 S_159_35 = 159, // $@35
729 S_user_file = 160, // user_file
730 S_161_36 = 161, // $@36
731 S_password = 162, // password
732 S_163_37 = 163, // $@37
733 S_password_file = 164, // password_file
734 S_165_38 = 165, // $@38
735 S_loggers = 166, // loggers
736 S_167_39 = 167, // $@39
737 S_loggers_entries = 168, // loggers_entries
738 S_logger_entry = 169, // logger_entry
739 S_170_40 = 170, // $@40
740 S_logger_params = 171, // logger_params
741 S_logger_param = 172, // logger_param
742 S_debuglevel = 173, // debuglevel
743 S_severity = 174, // severity
744 S_175_41 = 175, // $@41
745 S_output_options_list = 176, // output_options_list
746 S_177_42 = 177, // $@42
747 S_output_options_list_content = 178, // output_options_list_content
748 S_output_entry = 179, // output_entry
749 S_180_43 = 180, // $@43
750 S_output_params_list = 181, // output_params_list
751 S_output_params = 182, // output_params
752 S_output = 183, // output
753 S_184_44 = 184, // $@44
754 S_flush = 185, // flush
755 S_maxsize = 186, // maxsize
756 S_maxver = 187, // maxver
757 S_pattern = 188, // pattern
758 S_189_45 = 189 // $@45
759 };
760 };
761
763 typedef symbol_kind::symbol_kind_type symbol_kind_type;
764
766 static const symbol_kind_type YYNTOKENS = symbol_kind::YYNTOKENS;
767
774 template <typename Base>
775 struct basic_symbol : Base
776 {
778 typedef Base super_type;
779
781 basic_symbol () YY_NOEXCEPT
782 : value ()
783 , location ()
784 {}
785
786#if 201103L <= YY_CPLUSPLUS
788 basic_symbol (basic_symbol&& that)
789 : Base (std::move (that))
790 , value ()
791 , location (std::move (that.location))
792 {
793 switch (this->kind ())
794 {
795 case symbol_kind::S_value: // value
796 case symbol_kind::S_map_value: // map_value
797 case symbol_kind::S_socket_type_value: // socket_type_value
798 case symbol_kind::S_auth_type_value: // auth_type_value
799 value.move< ElementPtr > (std::move (that.value));
800 break;
801
802 case symbol_kind::S_BOOLEAN: // "boolean"
803 value.move< bool > (std::move (that.value));
804 break;
805
806 case symbol_kind::S_FLOAT: // "floating point"
807 value.move< double > (std::move (that.value));
808 break;
809
810 case symbol_kind::S_INTEGER: // "integer"
811 value.move< int64_t > (std::move (that.value));
812 break;
813
814 case symbol_kind::S_STRING: // "constant string"
815 value.move< std::string > (std::move (that.value));
816 break;
817
818 default:
819 break;
820 }
821
822 }
823#endif
824
826 basic_symbol (const basic_symbol& that);
827
829#if 201103L <= YY_CPLUSPLUS
830 basic_symbol (typename Base::kind_type t, location_type&& l)
831 : Base (t)
832 , location (std::move (l))
833 {}
834#else
835 basic_symbol (typename Base::kind_type t, const location_type& l)
836 : Base (t)
837 , location (l)
838 {}
839#endif
840
841#if 201103L <= YY_CPLUSPLUS
842 basic_symbol (typename Base::kind_type t, ElementPtr&& v, location_type&& l)
843 : Base (t)
844 , value (std::move (v))
845 , location (std::move (l))
846 {}
847#else
848 basic_symbol (typename Base::kind_type t, const ElementPtr& v, const location_type& l)
849 : Base (t)
850 , value (v)
851 , location (l)
852 {}
853#endif
854
855#if 201103L <= YY_CPLUSPLUS
856 basic_symbol (typename Base::kind_type t, bool&& v, location_type&& l)
857 : Base (t)
858 , value (std::move (v))
859 , location (std::move (l))
860 {}
861#else
862 basic_symbol (typename Base::kind_type t, const bool& v, const location_type& l)
863 : Base (t)
864 , value (v)
865 , location (l)
866 {}
867#endif
868
869#if 201103L <= YY_CPLUSPLUS
870 basic_symbol (typename Base::kind_type t, double&& v, location_type&& l)
871 : Base (t)
872 , value (std::move (v))
873 , location (std::move (l))
874 {}
875#else
876 basic_symbol (typename Base::kind_type t, const double& v, const location_type& l)
877 : Base (t)
878 , value (v)
879 , location (l)
880 {}
881#endif
882
883#if 201103L <= YY_CPLUSPLUS
884 basic_symbol (typename Base::kind_type t, int64_t&& v, location_type&& l)
885 : Base (t)
886 , value (std::move (v))
887 , location (std::move (l))
888 {}
889#else
890 basic_symbol (typename Base::kind_type t, const int64_t& v, const location_type& l)
891 : Base (t)
892 , value (v)
893 , location (l)
894 {}
895#endif
896
897#if 201103L <= YY_CPLUSPLUS
898 basic_symbol (typename Base::kind_type t, std::string&& v, location_type&& l)
899 : Base (t)
900 , value (std::move (v))
901 , location (std::move (l))
902 {}
903#else
904 basic_symbol (typename Base::kind_type t, const std::string& v, const location_type& l)
905 : Base (t)
906 , value (v)
907 , location (l)
908 {}
909#endif
910
912 ~basic_symbol ()
913 {
914 clear ();
915 }
916
917
918
920 void clear () YY_NOEXCEPT
921 {
922 // User destructor.
923 symbol_kind_type yykind = this->kind ();
924 basic_symbol<Base>& yysym = *this;
925 (void) yysym;
926 switch (yykind)
927 {
928 default:
929 break;
930 }
931
932 // Value type destructor.
933 switch (yykind)
934 {
935 case symbol_kind::S_value: // value
936 case symbol_kind::S_map_value: // map_value
937 case symbol_kind::S_socket_type_value: // socket_type_value
938 case symbol_kind::S_auth_type_value: // auth_type_value
939 value.template destroy< ElementPtr > ();
940 break;
941
942 case symbol_kind::S_BOOLEAN: // "boolean"
943 value.template destroy< bool > ();
944 break;
945
946 case symbol_kind::S_FLOAT: // "floating point"
947 value.template destroy< double > ();
948 break;
949
950 case symbol_kind::S_INTEGER: // "integer"
951 value.template destroy< int64_t > ();
952 break;
953
954 case symbol_kind::S_STRING: // "constant string"
955 value.template destroy< std::string > ();
956 break;
957
958 default:
959 break;
960 }
961
962 Base::clear ();
963 }
964
966 std::string name () const YY_NOEXCEPT
967 {
968 return AgentParser::symbol_name (this->kind ());
969 }
970
972 symbol_kind_type type_get () const YY_NOEXCEPT;
973
975 bool empty () const YY_NOEXCEPT;
976
978 void move (basic_symbol& s);
979
981 value_type value;
982
984 location_type location;
985
986 private:
987#if YY_CPLUSPLUS < 201103L
989 basic_symbol& operator= (const basic_symbol& that);
990#endif
991 };
992
994 struct by_kind
995 {
997 typedef token_kind_type kind_type;
998
1000 by_kind () YY_NOEXCEPT;
1001
1002#if 201103L <= YY_CPLUSPLUS
1004 by_kind (by_kind&& that) YY_NOEXCEPT;
1005#endif
1006
1008 by_kind (const by_kind& that) YY_NOEXCEPT;
1009
1011 by_kind (kind_type t) YY_NOEXCEPT;
1012
1013
1014
1016 void clear () YY_NOEXCEPT;
1017
1019 void move (by_kind& that);
1020
1023 symbol_kind_type kind () const YY_NOEXCEPT;
1024
1026 symbol_kind_type type_get () const YY_NOEXCEPT;
1027
1030 symbol_kind_type kind_;
1031 };
1032
1034 typedef by_kind by_type;
1035
1037 struct symbol_type : basic_symbol<by_kind>
1038 {
1040 typedef basic_symbol<by_kind> super_type;
1041
1043 symbol_type () YY_NOEXCEPT {}
1044
1046#if 201103L <= YY_CPLUSPLUS
1047 symbol_type (int tok, location_type l)
1048 : super_type (token_kind_type (tok), std::move (l))
1049#else
1050 symbol_type (int tok, const location_type& l)
1051 : super_type (token_kind_type (tok), l)
1052#endif
1053 {
1054#if !defined _MSC_VER || defined __clang__
1055 AGENT__ASSERT (tok == token::TOKEN_END
1056 || (token::TOKEN_AGENT_error <= tok && tok <= token::TOKEN_START_SUB_AGENT));
1057#endif
1058 }
1059#if 201103L <= YY_CPLUSPLUS
1060 symbol_type (int tok, bool v, location_type l)
1061 : super_type (token_kind_type (tok), std::move (v), std::move (l))
1062#else
1063 symbol_type (int tok, const bool& v, const location_type& l)
1064 : super_type (token_kind_type (tok), v, l)
1065#endif
1066 {
1067#if !defined _MSC_VER || defined __clang__
1068 AGENT__ASSERT (tok == token::TOKEN_BOOLEAN);
1069#endif
1070 }
1071#if 201103L <= YY_CPLUSPLUS
1072 symbol_type (int tok, double v, location_type l)
1073 : super_type (token_kind_type (tok), std::move (v), std::move (l))
1074#else
1075 symbol_type (int tok, const double& v, const location_type& l)
1076 : super_type (token_kind_type (tok), v, l)
1077#endif
1078 {
1079#if !defined _MSC_VER || defined __clang__
1080 AGENT__ASSERT (tok == token::TOKEN_FLOAT);
1081#endif
1082 }
1083#if 201103L <= YY_CPLUSPLUS
1084 symbol_type (int tok, int64_t v, location_type l)
1085 : super_type (token_kind_type (tok), std::move (v), std::move (l))
1086#else
1087 symbol_type (int tok, const int64_t& v, const location_type& l)
1088 : super_type (token_kind_type (tok), v, l)
1089#endif
1090 {
1091#if !defined _MSC_VER || defined __clang__
1092 AGENT__ASSERT (tok == token::TOKEN_INTEGER);
1093#endif
1094 }
1095#if 201103L <= YY_CPLUSPLUS
1096 symbol_type (int tok, std::string v, location_type l)
1097 : super_type (token_kind_type (tok), std::move (v), std::move (l))
1098#else
1099 symbol_type (int tok, const std::string& v, const location_type& l)
1100 : super_type (token_kind_type (tok), v, l)
1101#endif
1102 {
1103#if !defined _MSC_VER || defined __clang__
1104 AGENT__ASSERT (tok == token::TOKEN_STRING);
1105#endif
1106 }
1107 };
1108
1110 AgentParser (isc::agent::ParserContext& ctx_yyarg);
1111 virtual ~AgentParser ();
1112
1113#if 201103L <= YY_CPLUSPLUS
1115 AgentParser (const AgentParser&) = delete;
1117 AgentParser& operator= (const AgentParser&) = delete;
1118#endif
1119
1122 int operator() ();
1123
1126 virtual int parse ();
1127
1128#if AGENT_DEBUG
1130 std::ostream& debug_stream () const YY_ATTRIBUTE_PURE;
1132 void set_debug_stream (std::ostream &);
1133
1135 typedef int debug_level_type;
1137 debug_level_type debug_level () const YY_ATTRIBUTE_PURE;
1139 void set_debug_level (debug_level_type l);
1140#endif
1141
1145 virtual void error (const location_type& loc, const std::string& msg);
1146
1148 void error (const syntax_error& err);
1149
1152 static std::string symbol_name (symbol_kind_type yysymbol);
1153
1154 // Implementation of make_symbol for each token kind.
1155#if 201103L <= YY_CPLUSPLUS
1156 static
1157 symbol_type
1158 make_END (location_type l)
1159 {
1160 return symbol_type (token::TOKEN_END, std::move (l));
1161 }
1162#else
1163 static
1164 symbol_type
1165 make_END (const location_type& l)
1166 {
1167 return symbol_type (token::TOKEN_END, l);
1168 }
1169#endif
1170#if 201103L <= YY_CPLUSPLUS
1171 static
1172 symbol_type
1173 make_AGENT_error (location_type l)
1174 {
1175 return symbol_type (token::TOKEN_AGENT_error, std::move (l));
1176 }
1177#else
1178 static
1179 symbol_type
1180 make_AGENT_error (const location_type& l)
1181 {
1182 return symbol_type (token::TOKEN_AGENT_error, l);
1183 }
1184#endif
1185#if 201103L <= YY_CPLUSPLUS
1186 static
1187 symbol_type
1188 make_AGENT_UNDEF (location_type l)
1189 {
1190 return symbol_type (token::TOKEN_AGENT_UNDEF, std::move (l));
1191 }
1192#else
1193 static
1194 symbol_type
1195 make_AGENT_UNDEF (const location_type& l)
1196 {
1197 return symbol_type (token::TOKEN_AGENT_UNDEF, l);
1198 }
1199#endif
1200#if 201103L <= YY_CPLUSPLUS
1201 static
1202 symbol_type
1203 make_COMMA (location_type l)
1204 {
1205 return symbol_type (token::TOKEN_COMMA, std::move (l));
1206 }
1207#else
1208 static
1209 symbol_type
1210 make_COMMA (const location_type& l)
1211 {
1212 return symbol_type (token::TOKEN_COMMA, l);
1213 }
1214#endif
1215#if 201103L <= YY_CPLUSPLUS
1216 static
1217 symbol_type
1218 make_COLON (location_type l)
1219 {
1220 return symbol_type (token::TOKEN_COLON, std::move (l));
1221 }
1222#else
1223 static
1224 symbol_type
1225 make_COLON (const location_type& l)
1226 {
1227 return symbol_type (token::TOKEN_COLON, l);
1228 }
1229#endif
1230#if 201103L <= YY_CPLUSPLUS
1231 static
1232 symbol_type
1233 make_LSQUARE_BRACKET (location_type l)
1234 {
1235 return symbol_type (token::TOKEN_LSQUARE_BRACKET, std::move (l));
1236 }
1237#else
1238 static
1239 symbol_type
1240 make_LSQUARE_BRACKET (const location_type& l)
1241 {
1242 return symbol_type (token::TOKEN_LSQUARE_BRACKET, l);
1243 }
1244#endif
1245#if 201103L <= YY_CPLUSPLUS
1246 static
1247 symbol_type
1248 make_RSQUARE_BRACKET (location_type l)
1249 {
1250 return symbol_type (token::TOKEN_RSQUARE_BRACKET, std::move (l));
1251 }
1252#else
1253 static
1254 symbol_type
1255 make_RSQUARE_BRACKET (const location_type& l)
1256 {
1257 return symbol_type (token::TOKEN_RSQUARE_BRACKET, l);
1258 }
1259#endif
1260#if 201103L <= YY_CPLUSPLUS
1261 static
1262 symbol_type
1263 make_LCURLY_BRACKET (location_type l)
1264 {
1265 return symbol_type (token::TOKEN_LCURLY_BRACKET, std::move (l));
1266 }
1267#else
1268 static
1269 symbol_type
1270 make_LCURLY_BRACKET (const location_type& l)
1271 {
1272 return symbol_type (token::TOKEN_LCURLY_BRACKET, l);
1273 }
1274#endif
1275#if 201103L <= YY_CPLUSPLUS
1276 static
1277 symbol_type
1278 make_RCURLY_BRACKET (location_type l)
1279 {
1280 return symbol_type (token::TOKEN_RCURLY_BRACKET, std::move (l));
1281 }
1282#else
1283 static
1284 symbol_type
1285 make_RCURLY_BRACKET (const location_type& l)
1286 {
1287 return symbol_type (token::TOKEN_RCURLY_BRACKET, l);
1288 }
1289#endif
1290#if 201103L <= YY_CPLUSPLUS
1291 static
1292 symbol_type
1293 make_NULL_TYPE (location_type l)
1294 {
1295 return symbol_type (token::TOKEN_NULL_TYPE, std::move (l));
1296 }
1297#else
1298 static
1299 symbol_type
1300 make_NULL_TYPE (const location_type& l)
1301 {
1302 return symbol_type (token::TOKEN_NULL_TYPE, l);
1303 }
1304#endif
1305#if 201103L <= YY_CPLUSPLUS
1306 static
1307 symbol_type
1308 make_CONTROL_AGENT (location_type l)
1309 {
1310 return symbol_type (token::TOKEN_CONTROL_AGENT, std::move (l));
1311 }
1312#else
1313 static
1314 symbol_type
1315 make_CONTROL_AGENT (const location_type& l)
1316 {
1317 return symbol_type (token::TOKEN_CONTROL_AGENT, l);
1318 }
1319#endif
1320#if 201103L <= YY_CPLUSPLUS
1321 static
1322 symbol_type
1323 make_HTTP_HOST (location_type l)
1324 {
1325 return symbol_type (token::TOKEN_HTTP_HOST, std::move (l));
1326 }
1327#else
1328 static
1329 symbol_type
1330 make_HTTP_HOST (const location_type& l)
1331 {
1332 return symbol_type (token::TOKEN_HTTP_HOST, l);
1333 }
1334#endif
1335#if 201103L <= YY_CPLUSPLUS
1336 static
1337 symbol_type
1338 make_HTTP_PORT (location_type l)
1339 {
1340 return symbol_type (token::TOKEN_HTTP_PORT, std::move (l));
1341 }
1342#else
1343 static
1344 symbol_type
1345 make_HTTP_PORT (const location_type& l)
1346 {
1347 return symbol_type (token::TOKEN_HTTP_PORT, l);
1348 }
1349#endif
1350#if 201103L <= YY_CPLUSPLUS
1351 static
1352 symbol_type
1353 make_HTTP_HEADERS (location_type l)
1354 {
1355 return symbol_type (token::TOKEN_HTTP_HEADERS, std::move (l));
1356 }
1357#else
1358 static
1359 symbol_type
1360 make_HTTP_HEADERS (const location_type& l)
1361 {
1362 return symbol_type (token::TOKEN_HTTP_HEADERS, l);
1363 }
1364#endif
1365#if 201103L <= YY_CPLUSPLUS
1366 static
1367 symbol_type
1368 make_USER_CONTEXT (location_type l)
1369 {
1370 return symbol_type (token::TOKEN_USER_CONTEXT, std::move (l));
1371 }
1372#else
1373 static
1374 symbol_type
1375 make_USER_CONTEXT (const location_type& l)
1376 {
1377 return symbol_type (token::TOKEN_USER_CONTEXT, l);
1378 }
1379#endif
1380#if 201103L <= YY_CPLUSPLUS
1381 static
1382 symbol_type
1383 make_COMMENT (location_type l)
1384 {
1385 return symbol_type (token::TOKEN_COMMENT, std::move (l));
1386 }
1387#else
1388 static
1389 symbol_type
1390 make_COMMENT (const location_type& l)
1391 {
1392 return symbol_type (token::TOKEN_COMMENT, l);
1393 }
1394#endif
1395#if 201103L <= YY_CPLUSPLUS
1396 static
1397 symbol_type
1398 make_NAME (location_type l)
1399 {
1400 return symbol_type (token::TOKEN_NAME, std::move (l));
1401 }
1402#else
1403 static
1404 symbol_type
1405 make_NAME (const location_type& l)
1406 {
1407 return symbol_type (token::TOKEN_NAME, l);
1408 }
1409#endif
1410#if 201103L <= YY_CPLUSPLUS
1411 static
1412 symbol_type
1413 make_VALUE (location_type l)
1414 {
1415 return symbol_type (token::TOKEN_VALUE, std::move (l));
1416 }
1417#else
1418 static
1419 symbol_type
1420 make_VALUE (const location_type& l)
1421 {
1422 return symbol_type (token::TOKEN_VALUE, l);
1423 }
1424#endif
1425#if 201103L <= YY_CPLUSPLUS
1426 static
1427 symbol_type
1428 make_AUTHENTICATION (location_type l)
1429 {
1430 return symbol_type (token::TOKEN_AUTHENTICATION, std::move (l));
1431 }
1432#else
1433 static
1434 symbol_type
1435 make_AUTHENTICATION (const location_type& l)
1436 {
1437 return symbol_type (token::TOKEN_AUTHENTICATION, l);
1438 }
1439#endif
1440#if 201103L <= YY_CPLUSPLUS
1441 static
1442 symbol_type
1443 make_TYPE (location_type l)
1444 {
1445 return symbol_type (token::TOKEN_TYPE, std::move (l));
1446 }
1447#else
1448 static
1449 symbol_type
1450 make_TYPE (const location_type& l)
1451 {
1452 return symbol_type (token::TOKEN_TYPE, l);
1453 }
1454#endif
1455#if 201103L <= YY_CPLUSPLUS
1456 static
1457 symbol_type
1458 make_BASIC (location_type l)
1459 {
1460 return symbol_type (token::TOKEN_BASIC, std::move (l));
1461 }
1462#else
1463 static
1464 symbol_type
1465 make_BASIC (const location_type& l)
1466 {
1467 return symbol_type (token::TOKEN_BASIC, l);
1468 }
1469#endif
1470#if 201103L <= YY_CPLUSPLUS
1471 static
1472 symbol_type
1473 make_REALM (location_type l)
1474 {
1475 return symbol_type (token::TOKEN_REALM, std::move (l));
1476 }
1477#else
1478 static
1479 symbol_type
1480 make_REALM (const location_type& l)
1481 {
1482 return symbol_type (token::TOKEN_REALM, l);
1483 }
1484#endif
1485#if 201103L <= YY_CPLUSPLUS
1486 static
1487 symbol_type
1488 make_DIRECTORY (location_type l)
1489 {
1490 return symbol_type (token::TOKEN_DIRECTORY, std::move (l));
1491 }
1492#else
1493 static
1494 symbol_type
1495 make_DIRECTORY (const location_type& l)
1496 {
1497 return symbol_type (token::TOKEN_DIRECTORY, l);
1498 }
1499#endif
1500#if 201103L <= YY_CPLUSPLUS
1501 static
1502 symbol_type
1503 make_CLIENTS (location_type l)
1504 {
1505 return symbol_type (token::TOKEN_CLIENTS, std::move (l));
1506 }
1507#else
1508 static
1509 symbol_type
1510 make_CLIENTS (const location_type& l)
1511 {
1512 return symbol_type (token::TOKEN_CLIENTS, l);
1513 }
1514#endif
1515#if 201103L <= YY_CPLUSPLUS
1516 static
1517 symbol_type
1518 make_USER (location_type l)
1519 {
1520 return symbol_type (token::TOKEN_USER, std::move (l));
1521 }
1522#else
1523 static
1524 symbol_type
1525 make_USER (const location_type& l)
1526 {
1527 return symbol_type (token::TOKEN_USER, l);
1528 }
1529#endif
1530#if 201103L <= YY_CPLUSPLUS
1531 static
1532 symbol_type
1533 make_USER_FILE (location_type l)
1534 {
1535 return symbol_type (token::TOKEN_USER_FILE, std::move (l));
1536 }
1537#else
1538 static
1539 symbol_type
1540 make_USER_FILE (const location_type& l)
1541 {
1542 return symbol_type (token::TOKEN_USER_FILE, l);
1543 }
1544#endif
1545#if 201103L <= YY_CPLUSPLUS
1546 static
1547 symbol_type
1548 make_PASSWORD (location_type l)
1549 {
1550 return symbol_type (token::TOKEN_PASSWORD, std::move (l));
1551 }
1552#else
1553 static
1554 symbol_type
1555 make_PASSWORD (const location_type& l)
1556 {
1557 return symbol_type (token::TOKEN_PASSWORD, l);
1558 }
1559#endif
1560#if 201103L <= YY_CPLUSPLUS
1561 static
1562 symbol_type
1563 make_PASSWORD_FILE (location_type l)
1564 {
1565 return symbol_type (token::TOKEN_PASSWORD_FILE, std::move (l));
1566 }
1567#else
1568 static
1569 symbol_type
1570 make_PASSWORD_FILE (const location_type& l)
1571 {
1572 return symbol_type (token::TOKEN_PASSWORD_FILE, l);
1573 }
1574#endif
1575#if 201103L <= YY_CPLUSPLUS
1576 static
1577 symbol_type
1578 make_TRUST_ANCHOR (location_type l)
1579 {
1580 return symbol_type (token::TOKEN_TRUST_ANCHOR, std::move (l));
1581 }
1582#else
1583 static
1584 symbol_type
1585 make_TRUST_ANCHOR (const location_type& l)
1586 {
1587 return symbol_type (token::TOKEN_TRUST_ANCHOR, l);
1588 }
1589#endif
1590#if 201103L <= YY_CPLUSPLUS
1591 static
1592 symbol_type
1593 make_CERT_FILE (location_type l)
1594 {
1595 return symbol_type (token::TOKEN_CERT_FILE, std::move (l));
1596 }
1597#else
1598 static
1599 symbol_type
1600 make_CERT_FILE (const location_type& l)
1601 {
1602 return symbol_type (token::TOKEN_CERT_FILE, l);
1603 }
1604#endif
1605#if 201103L <= YY_CPLUSPLUS
1606 static
1607 symbol_type
1608 make_KEY_FILE (location_type l)
1609 {
1610 return symbol_type (token::TOKEN_KEY_FILE, std::move (l));
1611 }
1612#else
1613 static
1614 symbol_type
1615 make_KEY_FILE (const location_type& l)
1616 {
1617 return symbol_type (token::TOKEN_KEY_FILE, l);
1618 }
1619#endif
1620#if 201103L <= YY_CPLUSPLUS
1621 static
1622 symbol_type
1623 make_CERT_REQUIRED (location_type l)
1624 {
1625 return symbol_type (token::TOKEN_CERT_REQUIRED, std::move (l));
1626 }
1627#else
1628 static
1629 symbol_type
1630 make_CERT_REQUIRED (const location_type& l)
1631 {
1632 return symbol_type (token::TOKEN_CERT_REQUIRED, l);
1633 }
1634#endif
1635#if 201103L <= YY_CPLUSPLUS
1636 static
1637 symbol_type
1638 make_CONTROL_SOCKETS (location_type l)
1639 {
1640 return symbol_type (token::TOKEN_CONTROL_SOCKETS, std::move (l));
1641 }
1642#else
1643 static
1644 symbol_type
1645 make_CONTROL_SOCKETS (const location_type& l)
1646 {
1647 return symbol_type (token::TOKEN_CONTROL_SOCKETS, l);
1648 }
1649#endif
1650#if 201103L <= YY_CPLUSPLUS
1651 static
1652 symbol_type
1653 make_DHCP4_SERVER (location_type l)
1654 {
1655 return symbol_type (token::TOKEN_DHCP4_SERVER, std::move (l));
1656 }
1657#else
1658 static
1659 symbol_type
1660 make_DHCP4_SERVER (const location_type& l)
1661 {
1662 return symbol_type (token::TOKEN_DHCP4_SERVER, l);
1663 }
1664#endif
1665#if 201103L <= YY_CPLUSPLUS
1666 static
1667 symbol_type
1668 make_DHCP6_SERVER (location_type l)
1669 {
1670 return symbol_type (token::TOKEN_DHCP6_SERVER, std::move (l));
1671 }
1672#else
1673 static
1674 symbol_type
1675 make_DHCP6_SERVER (const location_type& l)
1676 {
1677 return symbol_type (token::TOKEN_DHCP6_SERVER, l);
1678 }
1679#endif
1680#if 201103L <= YY_CPLUSPLUS
1681 static
1682 symbol_type
1683 make_D2_SERVER (location_type l)
1684 {
1685 return symbol_type (token::TOKEN_D2_SERVER, std::move (l));
1686 }
1687#else
1688 static
1689 symbol_type
1690 make_D2_SERVER (const location_type& l)
1691 {
1692 return symbol_type (token::TOKEN_D2_SERVER, l);
1693 }
1694#endif
1695#if 201103L <= YY_CPLUSPLUS
1696 static
1697 symbol_type
1698 make_SOCKET_NAME (location_type l)
1699 {
1700 return symbol_type (token::TOKEN_SOCKET_NAME, std::move (l));
1701 }
1702#else
1703 static
1704 symbol_type
1705 make_SOCKET_NAME (const location_type& l)
1706 {
1707 return symbol_type (token::TOKEN_SOCKET_NAME, l);
1708 }
1709#endif
1710#if 201103L <= YY_CPLUSPLUS
1711 static
1712 symbol_type
1713 make_SOCKET_TYPE (location_type l)
1714 {
1715 return symbol_type (token::TOKEN_SOCKET_TYPE, std::move (l));
1716 }
1717#else
1718 static
1719 symbol_type
1720 make_SOCKET_TYPE (const location_type& l)
1721 {
1722 return symbol_type (token::TOKEN_SOCKET_TYPE, l);
1723 }
1724#endif
1725#if 201103L <= YY_CPLUSPLUS
1726 static
1727 symbol_type
1728 make_UNIX (location_type l)
1729 {
1730 return symbol_type (token::TOKEN_UNIX, std::move (l));
1731 }
1732#else
1733 static
1734 symbol_type
1735 make_UNIX (const location_type& l)
1736 {
1737 return symbol_type (token::TOKEN_UNIX, l);
1738 }
1739#endif
1740#if 201103L <= YY_CPLUSPLUS
1741 static
1742 symbol_type
1743 make_HOOKS_LIBRARIES (location_type l)
1744 {
1745 return symbol_type (token::TOKEN_HOOKS_LIBRARIES, std::move (l));
1746 }
1747#else
1748 static
1749 symbol_type
1750 make_HOOKS_LIBRARIES (const location_type& l)
1751 {
1752 return symbol_type (token::TOKEN_HOOKS_LIBRARIES, l);
1753 }
1754#endif
1755#if 201103L <= YY_CPLUSPLUS
1756 static
1757 symbol_type
1758 make_LIBRARY (location_type l)
1759 {
1760 return symbol_type (token::TOKEN_LIBRARY, std::move (l));
1761 }
1762#else
1763 static
1764 symbol_type
1765 make_LIBRARY (const location_type& l)
1766 {
1767 return symbol_type (token::TOKEN_LIBRARY, l);
1768 }
1769#endif
1770#if 201103L <= YY_CPLUSPLUS
1771 static
1772 symbol_type
1773 make_PARAMETERS (location_type l)
1774 {
1775 return symbol_type (token::TOKEN_PARAMETERS, std::move (l));
1776 }
1777#else
1778 static
1779 symbol_type
1780 make_PARAMETERS (const location_type& l)
1781 {
1782 return symbol_type (token::TOKEN_PARAMETERS, l);
1783 }
1784#endif
1785#if 201103L <= YY_CPLUSPLUS
1786 static
1787 symbol_type
1788 make_LOGGERS (location_type l)
1789 {
1790 return symbol_type (token::TOKEN_LOGGERS, std::move (l));
1791 }
1792#else
1793 static
1794 symbol_type
1795 make_LOGGERS (const location_type& l)
1796 {
1797 return symbol_type (token::TOKEN_LOGGERS, l);
1798 }
1799#endif
1800#if 201103L <= YY_CPLUSPLUS
1801 static
1802 symbol_type
1803 make_OUTPUT_OPTIONS (location_type l)
1804 {
1805 return symbol_type (token::TOKEN_OUTPUT_OPTIONS, std::move (l));
1806 }
1807#else
1808 static
1809 symbol_type
1810 make_OUTPUT_OPTIONS (const location_type& l)
1811 {
1812 return symbol_type (token::TOKEN_OUTPUT_OPTIONS, l);
1813 }
1814#endif
1815#if 201103L <= YY_CPLUSPLUS
1816 static
1817 symbol_type
1818 make_OUTPUT (location_type l)
1819 {
1820 return symbol_type (token::TOKEN_OUTPUT, std::move (l));
1821 }
1822#else
1823 static
1824 symbol_type
1825 make_OUTPUT (const location_type& l)
1826 {
1827 return symbol_type (token::TOKEN_OUTPUT, l);
1828 }
1829#endif
1830#if 201103L <= YY_CPLUSPLUS
1831 static
1832 symbol_type
1833 make_DEBUGLEVEL (location_type l)
1834 {
1835 return symbol_type (token::TOKEN_DEBUGLEVEL, std::move (l));
1836 }
1837#else
1838 static
1839 symbol_type
1840 make_DEBUGLEVEL (const location_type& l)
1841 {
1842 return symbol_type (token::TOKEN_DEBUGLEVEL, l);
1843 }
1844#endif
1845#if 201103L <= YY_CPLUSPLUS
1846 static
1847 symbol_type
1848 make_SEVERITY (location_type l)
1849 {
1850 return symbol_type (token::TOKEN_SEVERITY, std::move (l));
1851 }
1852#else
1853 static
1854 symbol_type
1855 make_SEVERITY (const location_type& l)
1856 {
1857 return symbol_type (token::TOKEN_SEVERITY, l);
1858 }
1859#endif
1860#if 201103L <= YY_CPLUSPLUS
1861 static
1862 symbol_type
1863 make_FLUSH (location_type l)
1864 {
1865 return symbol_type (token::TOKEN_FLUSH, std::move (l));
1866 }
1867#else
1868 static
1869 symbol_type
1870 make_FLUSH (const location_type& l)
1871 {
1872 return symbol_type (token::TOKEN_FLUSH, l);
1873 }
1874#endif
1875#if 201103L <= YY_CPLUSPLUS
1876 static
1877 symbol_type
1878 make_MAXSIZE (location_type l)
1879 {
1880 return symbol_type (token::TOKEN_MAXSIZE, std::move (l));
1881 }
1882#else
1883 static
1884 symbol_type
1885 make_MAXSIZE (const location_type& l)
1886 {
1887 return symbol_type (token::TOKEN_MAXSIZE, l);
1888 }
1889#endif
1890#if 201103L <= YY_CPLUSPLUS
1891 static
1892 symbol_type
1893 make_MAXVER (location_type l)
1894 {
1895 return symbol_type (token::TOKEN_MAXVER, std::move (l));
1896 }
1897#else
1898 static
1899 symbol_type
1900 make_MAXVER (const location_type& l)
1901 {
1902 return symbol_type (token::TOKEN_MAXVER, l);
1903 }
1904#endif
1905#if 201103L <= YY_CPLUSPLUS
1906 static
1907 symbol_type
1908 make_PATTERN (location_type l)
1909 {
1910 return symbol_type (token::TOKEN_PATTERN, std::move (l));
1911 }
1912#else
1913 static
1914 symbol_type
1915 make_PATTERN (const location_type& l)
1916 {
1917 return symbol_type (token::TOKEN_PATTERN, l);
1918 }
1919#endif
1920#if 201103L <= YY_CPLUSPLUS
1921 static
1922 symbol_type
1923 make_START_JSON (location_type l)
1924 {
1925 return symbol_type (token::TOKEN_START_JSON, std::move (l));
1926 }
1927#else
1928 static
1929 symbol_type
1930 make_START_JSON (const location_type& l)
1931 {
1932 return symbol_type (token::TOKEN_START_JSON, l);
1933 }
1934#endif
1935#if 201103L <= YY_CPLUSPLUS
1936 static
1937 symbol_type
1938 make_START_AGENT (location_type l)
1939 {
1940 return symbol_type (token::TOKEN_START_AGENT, std::move (l));
1941 }
1942#else
1943 static
1944 symbol_type
1945 make_START_AGENT (const location_type& l)
1946 {
1947 return symbol_type (token::TOKEN_START_AGENT, l);
1948 }
1949#endif
1950#if 201103L <= YY_CPLUSPLUS
1951 static
1952 symbol_type
1953 make_START_SUB_AGENT (location_type l)
1954 {
1955 return symbol_type (token::TOKEN_START_SUB_AGENT, std::move (l));
1956 }
1957#else
1958 static
1959 symbol_type
1960 make_START_SUB_AGENT (const location_type& l)
1961 {
1962 return symbol_type (token::TOKEN_START_SUB_AGENT, l);
1963 }
1964#endif
1965#if 201103L <= YY_CPLUSPLUS
1966 static
1967 symbol_type
1968 make_STRING (std::string v, location_type l)
1969 {
1970 return symbol_type (token::TOKEN_STRING, std::move (v), std::move (l));
1971 }
1972#else
1973 static
1974 symbol_type
1975 make_STRING (const std::string& v, const location_type& l)
1976 {
1977 return symbol_type (token::TOKEN_STRING, v, l);
1978 }
1979#endif
1980#if 201103L <= YY_CPLUSPLUS
1981 static
1982 symbol_type
1983 make_INTEGER (int64_t v, location_type l)
1984 {
1985 return symbol_type (token::TOKEN_INTEGER, std::move (v), std::move (l));
1986 }
1987#else
1988 static
1989 symbol_type
1990 make_INTEGER (const int64_t& v, const location_type& l)
1991 {
1992 return symbol_type (token::TOKEN_INTEGER, v, l);
1993 }
1994#endif
1995#if 201103L <= YY_CPLUSPLUS
1996 static
1997 symbol_type
1998 make_FLOAT (double v, location_type l)
1999 {
2000 return symbol_type (token::TOKEN_FLOAT, std::move (v), std::move (l));
2001 }
2002#else
2003 static
2004 symbol_type
2005 make_FLOAT (const double& v, const location_type& l)
2006 {
2007 return symbol_type (token::TOKEN_FLOAT, v, l);
2008 }
2009#endif
2010#if 201103L <= YY_CPLUSPLUS
2011 static
2012 symbol_type
2013 make_BOOLEAN (bool v, location_type l)
2014 {
2015 return symbol_type (token::TOKEN_BOOLEAN, std::move (v), std::move (l));
2016 }
2017#else
2018 static
2019 symbol_type
2020 make_BOOLEAN (const bool& v, const location_type& l)
2021 {
2022 return symbol_type (token::TOKEN_BOOLEAN, v, l);
2023 }
2024#endif
2025
2026
2027 class context
2028 {
2029 public:
2030 context (const AgentParser& yyparser, const symbol_type& yyla);
2031 const symbol_type& lookahead () const YY_NOEXCEPT { return yyla_; }
2032 symbol_kind_type token () const YY_NOEXCEPT { return yyla_.kind (); }
2033 const location_type& location () const YY_NOEXCEPT { return yyla_.location; }
2034
2038 int expected_tokens (symbol_kind_type yyarg[], int yyargn) const;
2039
2040 private:
2041 const AgentParser& yyparser_;
2042 const symbol_type& yyla_;
2043 };
2044
2045 private:
2046#if YY_CPLUSPLUS < 201103L
2048 AgentParser (const AgentParser&);
2050 AgentParser& operator= (const AgentParser&);
2051#endif
2052
2053
2055 typedef short state_type;
2056
2058 int yy_syntax_error_arguments_ (const context& yyctx,
2059 symbol_kind_type yyarg[], int yyargn) const;
2060
2063 virtual std::string yysyntax_error_ (const context& yyctx) const;
2067 static state_type yy_lr_goto_state_ (state_type yystate, int yysym);
2068
2071 static bool yy_pact_value_is_default_ (int yyvalue) YY_NOEXCEPT;
2072
2075 static bool yy_table_value_is_error_ (int yyvalue) YY_NOEXCEPT;
2076
2077 static const short yypact_ninf_;
2078 static const signed char yytable_ninf_;
2079
2083 static symbol_kind_type yytranslate_ (int t) YY_NOEXCEPT;
2084
2086 static std::string yytnamerr_ (const char *yystr);
2087
2089 static const char* const yytname_[];
2090
2091
2092 // Tables.
2093 // YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
2094 // STATE-NUM.
2095 static const short yypact_[];
2096
2097 // YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
2098 // Performed when YYTABLE does not specify something else to do. Zero
2099 // means the default is an error.
2100 static const unsigned char yydefact_[];
2101
2102 // YYPGOTO[NTERM-NUM].
2103 static const short yypgoto_[];
2104
2105 // YYDEFGOTO[NTERM-NUM].
2106 static const short yydefgoto_[];
2107
2108 // YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
2109 // positive, shift that token. If negative, reduce the rule whose
2110 // number is the opposite. If YYTABLE_NINF, syntax error.
2111 static const short yytable_[];
2112
2113 static const short yycheck_[];
2114
2115 // YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of
2116 // state STATE-NUM.
2117 static const unsigned char yystos_[];
2118
2119 // YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM.
2120 static const unsigned char yyr1_[];
2121
2122 // YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM.
2123 static const signed char yyr2_[];
2124
2125
2126#if AGENT_DEBUG
2127 // YYRLINE[YYN] -- Source line where rule number YYN was defined.
2128 static const short yyrline_[];
2130 virtual void yy_reduce_print_ (int r) const;
2132 virtual void yy_stack_print_ () const;
2133
2135 int yydebug_;
2137 std::ostream* yycdebug_;
2138
2142 template <typename Base>
2143 void yy_print_ (std::ostream& yyo, const basic_symbol<Base>& yysym) const;
2144#endif
2145
2150 template <typename Base>
2151 void yy_destroy_ (const char* yymsg, basic_symbol<Base>& yysym) const;
2152
2153 private:
2155 struct by_state
2156 {
2158 by_state () YY_NOEXCEPT;
2159
2161 typedef state_type kind_type;
2162
2164 by_state (kind_type s) YY_NOEXCEPT;
2165
2167 by_state (const by_state& that) YY_NOEXCEPT;
2168
2170 void clear () YY_NOEXCEPT;
2171
2173 void move (by_state& that);
2174
2177 symbol_kind_type kind () const YY_NOEXCEPT;
2178
2181 enum { empty_state = 0 };
2182
2185 state_type state;
2186 };
2187
2189 struct stack_symbol_type : basic_symbol<by_state>
2190 {
2192 typedef basic_symbol<by_state> super_type;
2194 stack_symbol_type ();
2196 stack_symbol_type (YY_RVREF (stack_symbol_type) that);
2198 stack_symbol_type (state_type s, YY_MOVE_REF (symbol_type) sym);
2199#if YY_CPLUSPLUS < 201103L
2202 stack_symbol_type& operator= (stack_symbol_type& that);
2203
2206 stack_symbol_type& operator= (const stack_symbol_type& that);
2207#endif
2208 };
2209
2211 template <typename T, typename S = std::vector<T> >
2212 class stack
2213 {
2214 public:
2215 // Hide our reversed order.
2216 typedef typename S::iterator iterator;
2217 typedef typename S::const_iterator const_iterator;
2218 typedef typename S::size_type size_type;
2219 typedef typename std::ptrdiff_t index_type;
2220
2221 stack (size_type n = 200) YY_NOEXCEPT
2222 : seq_ (n)
2223 {}
2224
2225#if 201103L <= YY_CPLUSPLUS
2227 stack (const stack&) = delete;
2229 stack& operator= (const stack&) = delete;
2230#endif
2231
2235 const T&
2236 operator[] (index_type i) const
2237 {
2238 return seq_[size_type (size () - 1 - i)];
2239 }
2240
2244 T&
2245 operator[] (index_type i)
2246 {
2247 return seq_[size_type (size () - 1 - i)];
2248 }
2249
2253 void
2254 push (YY_MOVE_REF (T) t)
2255 {
2256 seq_.push_back (T ());
2257 operator[] (0).move (t);
2258 }
2259
2261 void
2262 pop (std::ptrdiff_t n = 1) YY_NOEXCEPT
2263 {
2264 for (; 0 < n; --n)
2265 seq_.pop_back ();
2266 }
2267
2269 void
2270 clear () YY_NOEXCEPT
2271 {
2272 seq_.clear ();
2273 }
2274
2276 index_type
2277 size () const YY_NOEXCEPT
2278 {
2279 return index_type (seq_.size ());
2280 }
2281
2283 const_iterator
2284 begin () const YY_NOEXCEPT
2285 {
2286 return seq_.begin ();
2287 }
2288
2290 const_iterator
2291 end () const YY_NOEXCEPT
2292 {
2293 return seq_.end ();
2294 }
2295
2297 class slice
2298 {
2299 public:
2300 slice (const stack& stack, index_type range) YY_NOEXCEPT
2301 : stack_ (stack)
2302 , range_ (range)
2303 {}
2304
2305 const T&
2306 operator[] (index_type i) const
2307 {
2308 return stack_[range_ - i];
2309 }
2310
2311 private:
2312 const stack& stack_;
2313 index_type range_;
2314 };
2315
2316 private:
2317#if YY_CPLUSPLUS < 201103L
2319 stack (const stack&);
2321 stack& operator= (const stack&);
2322#endif
2324 S seq_;
2325 };
2326
2327
2329 typedef stack<stack_symbol_type> stack_type;
2330
2332 stack_type yystack_;
2333
2339 void yypush_ (const char* m, YY_MOVE_REF (stack_symbol_type) sym);
2340
2347 void yypush_ (const char* m, state_type s, YY_MOVE_REF (symbol_type) sym);
2348
2350 void yypop_ (int n = 1) YY_NOEXCEPT;
2351
2353 enum
2354 {
2355 yylast_ = 279,
2356 yynnts_ = 132,
2357 yyfinal_ = 8
2358 };
2359
2360
2361 // User arguments.
2362 isc::agent::ParserContext& ctx;
2363
2364 };
2365
2366 inline
2367 AgentParser::symbol_kind_type
2368 AgentParser::yytranslate_ (int t) YY_NOEXCEPT
2369 {
2370 // YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to
2371 // TOKEN-NUM as returned by yylex.
2372 static
2373 const signed char
2374 translate_table[] =
2375 {
2376 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2377 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2378 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2379 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2380 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2381 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2382 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2383 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2384 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2385 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2386 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2387 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2388 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2389 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2390 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2391 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2392 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2393 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2394 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2395 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2396 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2397 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2398 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2399 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2400 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2401 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
2402 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
2403 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
2404 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
2405 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
2406 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
2407 55, 56, 57
2408 };
2409 // Last valid token kind.
2410 const int code_max = 312;
2411
2412 if (t <= 0)
2413 return symbol_kind::S_YYEOF;
2414 else if (t <= code_max)
2415 return static_cast <symbol_kind_type> (translate_table[t]);
2416 else
2417 return symbol_kind::S_YYUNDEF;
2418 }
2419
2420 // basic_symbol.
2421 template <typename Base>
2422 AgentParser::basic_symbol<Base>::basic_symbol (const basic_symbol& that)
2423 : Base (that)
2424 , value ()
2425 , location (that.location)
2426 {
2427 switch (this->kind ())
2428 {
2429 case symbol_kind::S_value: // value
2430 case symbol_kind::S_map_value: // map_value
2431 case symbol_kind::S_socket_type_value: // socket_type_value
2432 case symbol_kind::S_auth_type_value: // auth_type_value
2433 value.copy< ElementPtr > (YY_MOVE (that.value));
2434 break;
2435
2436 case symbol_kind::S_BOOLEAN: // "boolean"
2437 value.copy< bool > (YY_MOVE (that.value));
2438 break;
2439
2440 case symbol_kind::S_FLOAT: // "floating point"
2441 value.copy< double > (YY_MOVE (that.value));
2442 break;
2443
2444 case symbol_kind::S_INTEGER: // "integer"
2445 value.copy< int64_t > (YY_MOVE (that.value));
2446 break;
2447
2448 case symbol_kind::S_STRING: // "constant string"
2449 value.copy< std::string > (YY_MOVE (that.value));
2450 break;
2451
2452 default:
2453 break;
2454 }
2455
2456 }
2457
2458
2459
2460
2461 template <typename Base>
2462 AgentParser::symbol_kind_type
2463 AgentParser::basic_symbol<Base>::type_get () const YY_NOEXCEPT
2464 {
2465 return this->kind ();
2466 }
2467
2468
2469 template <typename Base>
2470 bool
2471 AgentParser::basic_symbol<Base>::empty () const YY_NOEXCEPT
2472 {
2473 return this->kind () == symbol_kind::S_YYEMPTY;
2474 }
2475
2476 template <typename Base>
2477 void
2478 AgentParser::basic_symbol<Base>::move (basic_symbol& s)
2479 {
2480 super_type::move (s);
2481 switch (this->kind ())
2482 {
2483 case symbol_kind::S_value: // value
2484 case symbol_kind::S_map_value: // map_value
2485 case symbol_kind::S_socket_type_value: // socket_type_value
2486 case symbol_kind::S_auth_type_value: // auth_type_value
2487 value.move< ElementPtr > (YY_MOVE (s.value));
2488 break;
2489
2490 case symbol_kind::S_BOOLEAN: // "boolean"
2491 value.move< bool > (YY_MOVE (s.value));
2492 break;
2493
2494 case symbol_kind::S_FLOAT: // "floating point"
2495 value.move< double > (YY_MOVE (s.value));
2496 break;
2497
2498 case symbol_kind::S_INTEGER: // "integer"
2499 value.move< int64_t > (YY_MOVE (s.value));
2500 break;
2501
2502 case symbol_kind::S_STRING: // "constant string"
2503 value.move< std::string > (YY_MOVE (s.value));
2504 break;
2505
2506 default:
2507 break;
2508 }
2509
2510 location = YY_MOVE (s.location);
2511 }
2512
2513 // by_kind.
2514 inline
2515 AgentParser::by_kind::by_kind () YY_NOEXCEPT
2516 : kind_ (symbol_kind::S_YYEMPTY)
2517 {}
2518
2519#if 201103L <= YY_CPLUSPLUS
2520 inline
2521 AgentParser::by_kind::by_kind (by_kind&& that) YY_NOEXCEPT
2522 : kind_ (that.kind_)
2523 {
2524 that.clear ();
2525 }
2526#endif
2527
2528 inline
2529 AgentParser::by_kind::by_kind (const by_kind& that) YY_NOEXCEPT
2530 : kind_ (that.kind_)
2531 {}
2532
2533 inline
2534 AgentParser::by_kind::by_kind (token_kind_type t) YY_NOEXCEPT
2535 : kind_ (yytranslate_ (t))
2536 {}
2537
2538
2539
2540 inline
2541 void
2542 AgentParser::by_kind::clear () YY_NOEXCEPT
2543 {
2544 kind_ = symbol_kind::S_YYEMPTY;
2545 }
2546
2547 inline
2548 void
2549 AgentParser::by_kind::move (by_kind& that)
2550 {
2551 kind_ = that.kind_;
2552 that.clear ();
2553 }
2554
2555 inline
2556 AgentParser::symbol_kind_type
2557 AgentParser::by_kind::kind () const YY_NOEXCEPT
2558 {
2559 return kind_;
2560 }
2561
2562
2563 inline
2564 AgentParser::symbol_kind_type
2565 AgentParser::by_kind::type_get () const YY_NOEXCEPT
2566 {
2567 return this->kind ();
2568 }
2569
2570
2571#line 14 "agent_parser.yy"
2572} } // isc::agent
2573#line 2574 "agent_parser.h"
2574
2575
2576
2577
2578#endif // !YY_AGENT_AGENT_PARSER_H_INCLUDED
parser_context_decl.h
Forward declaration of the ParserContext class.
YY_RVREF
#define YY_RVREF(Type)
Definition agent_parser.h:85
AGENT__ASSERT
#define AGENT__ASSERT
Definition agent_parser.h:108
YY_MOVE_REF
#define YY_MOVE_REF(Type)
Definition agent_parser.h:84
YY_NOEXCEPT
#define YY_NOEXCEPT
Definition agent_parser.h:94
YY_ATTRIBUTE_PURE
#define YY_ATTRIBUTE_PURE
Definition agent_parser.h:116
YY_MOVE
#define YY_MOVE
Definition agent_parser.h:82
YY_NOTHROW
#define YY_NOTHROW
Definition agent_parser.h:95
isc::agent::AgentParser::context::context
context(const AgentParser &yyparser, const symbol_type &yyla)
Definition agent_parser.cc:2122
isc::agent::AgentParser::context::lookahead
const symbol_type & lookahead() const YY_NOEXCEPT
Definition agent_parser.h:2031
isc::agent::AgentParser::context::token
symbol_kind_type token() const YY_NOEXCEPT
Definition agent_parser.h:2032
isc::agent::AgentParser::context::location
const location_type & location() const YY_NOEXCEPT
Definition agent_parser.h:2033
isc::agent::AgentParser::stack::slice::slice
slice(const stack &stack, index_type range) YY_NOEXCEPT
Definition agent_parser.h:2300
isc::agent::AgentParser::value_type
A buffer to store and retrieve objects.
Definition agent_parser.h:229
isc::agent::AgentParser::value_type::emplace
T & emplace()
Instantiate an empty T in here.
Definition agent_parser.h:277
isc::agent::AgentParser::value_type::destroy
void destroy()
Destroy the stored T.
Definition agent_parser.h:392
isc::agent::AgentParser::value_type::copy
void copy(const self_type &that)
Copy the content of that to this.
Definition agent_parser.h:384
isc::agent::AgentParser::value_type::value_type
value_type(YY_RVREF(T) t)
Construct and fill.
Definition agent_parser.h:242
isc::agent::AgentParser::value_type::as
const T & as() const YY_NOEXCEPT
Const accessor to a built T (for printer).
Definition agent_parser.h:329
isc::agent::AgentParser::value_type::swap
void swap(self_type &that) YY_NOEXCEPT
Swap the content with that, of same type.
Definition agent_parser.h:347
isc::agent::AgentParser::value_type::yyraw_
char yyraw_[size]
A buffer large enough to store any of the semantic values.
Definition agent_parser.h:455
isc::agent::AgentParser::value_type::as
T & as() YY_NOEXCEPT
Accessor to a built T.
Definition agent_parser.h:318
isc::agent::AgentParser::value_type::self_type
value_type self_type
Type of *this.
Definition agent_parser.h:232
isc::agent::AgentParser::value_type::value_type
value_type() YY_NOEXCEPT
Empty construction.
Definition agent_parser.h:235
isc::agent::AgentParser::value_type::move
void move(self_type &that)
Move the content of that to this.
Definition agent_parser.h:359
isc::agent::AgentParser::value_type::yyalign_me_
long double yyalign_me_
Strongest alignment constraints.
Definition agent_parser.h:453
isc::agent::AgentParser::value_type::emplace
T & emplace(const T &t)
Instantiate a T in here from t.
Definition agent_parser.h:288
isc::agent::AgentParser::value_type::build
T & build(const T &t)
Instantiate a T in here from t.
Definition agent_parser.h:310
isc::agent::AgentParser::value_type::~value_type
~value_type() YY_NOEXCEPT
Destruction, allowed only if empty.
Definition agent_parser.h:257
isc::agent::AgentParser::value_type::build
T & build()
Instantiate an empty T in here.
Definition agent_parser.h:301
isc::agent::AgentParser
A Bison parser.
Definition agent_parser.h:215
isc::agent::AgentParser::make_D2_SERVER
static symbol_type make_D2_SERVER(const location_type &l)
Definition agent_parser.h:1690
isc::agent::AgentParser::make_PASSWORD_FILE
static symbol_type make_PASSWORD_FILE(const location_type &l)
Definition agent_parser.h:1570
isc::agent::AgentParser::make_SOCKET_TYPE
static symbol_type make_SOCKET_TYPE(const location_type &l)
Definition agent_parser.h:1720
isc::agent::AgentParser::make_HTTP_HOST
static symbol_type make_HTTP_HOST(const location_type &l)
Definition agent_parser.h:1330
isc::agent::AgentParser::make_END
static symbol_type make_END(const location_type &l)
Definition agent_parser.h:1165
isc::agent::AgentParser::make_COMMENT
static symbol_type make_COMMENT(const location_type &l)
Definition agent_parser.h:1390
isc::agent::AgentParser::make_NULL_TYPE
static symbol_type make_NULL_TYPE(const location_type &l)
Definition agent_parser.h:1300
isc::agent::AgentParser::make_AUTHENTICATION
static symbol_type make_AUTHENTICATION(const location_type &l)
Definition agent_parser.h:1435
isc::agent::AgentParser::semantic_type
value_type semantic_type
Backward compatibility (Bison 3.8).
Definition agent_parser.h:464
isc::agent::AgentParser::make_CERT_FILE
static symbol_type make_CERT_FILE(const location_type &l)
Definition agent_parser.h:1600
isc::agent::AgentParser::make_OUTPUT_OPTIONS
static symbol_type make_OUTPUT_OPTIONS(const location_type &l)
Definition agent_parser.h:1810
isc::agent::AgentParser::make_LSQUARE_BRACKET
static symbol_type make_LSQUARE_BRACKET(const location_type &l)
Definition agent_parser.h:1240
isc::agent::AgentParser::make_RSQUARE_BRACKET
static symbol_type make_RSQUARE_BRACKET(const location_type &l)
Definition agent_parser.h:1255
isc::agent::AgentParser::make_COLON
static symbol_type make_COLON(const location_type &l)
Definition agent_parser.h:1225
isc::agent::AgentParser::AgentParser
AgentParser(isc::agent::ParserContext &ctx_yyarg)
Build a parser object.
Definition agent_parser.cc:152
isc::agent::AgentParser::make_BASIC
static symbol_type make_BASIC(const location_type &l)
Definition agent_parser.h:1465
isc::agent::AgentParser::make_PATTERN
static symbol_type make_PATTERN(const location_type &l)
Definition agent_parser.h:1915
isc::agent::AgentParser::symbol_name
static std::string symbol_name(symbol_kind_type yysymbol)
The user-facing name of the symbol whose (internal) number is YYSYMBOL.
Definition agent_parser.cc:2114
isc::agent::AgentParser::make_FLOAT
static symbol_type make_FLOAT(const double &v, const location_type &l)
Definition agent_parser.h:2005
isc::agent::AgentParser::make_STRING
static symbol_type make_STRING(const std::string &v, const location_type &l)
Definition agent_parser.h:1975
isc::agent::AgentParser::make_LOGGERS
static symbol_type make_LOGGERS(const location_type &l)
Definition agent_parser.h:1795
isc::agent::AgentParser::make_SOCKET_NAME
static symbol_type make_SOCKET_NAME(const location_type &l)
Definition agent_parser.h:1705
isc::agent::AgentParser::location_type
location location_type
Symbol locations.
Definition agent_parser.h:467
isc::agent::AgentParser::make_CONTROL_AGENT
static symbol_type make_CONTROL_AGENT(const location_type &l)
Definition agent_parser.h:1315
isc::agent::AgentParser::make_AGENT_error
static symbol_type make_AGENT_error(const location_type &l)
Definition agent_parser.h:1180
isc::agent::AgentParser::make_RCURLY_BRACKET
static symbol_type make_RCURLY_BRACKET(const location_type &l)
Definition agent_parser.h:1285
isc::agent::AgentParser::make_HTTP_HEADERS
static symbol_type make_HTTP_HEADERS(const location_type &l)
Definition agent_parser.h:1360
isc::agent::AgentParser::make_DEBUGLEVEL
static symbol_type make_DEBUGLEVEL(const location_type &l)
Definition agent_parser.h:1840
isc::agent::AgentParser::make_START_AGENT
static symbol_type make_START_AGENT(const location_type &l)
Definition agent_parser.h:1945
isc::agent::AgentParser::make_LCURLY_BRACKET
static symbol_type make_LCURLY_BRACKET(const location_type &l)
Definition agent_parser.h:1270
isc::agent::AgentParser::make_FLUSH
static symbol_type make_FLUSH(const location_type &l)
Definition agent_parser.h:1870
isc::agent::AgentParser::make_CERT_REQUIRED
static symbol_type make_CERT_REQUIRED(const location_type &l)
Definition agent_parser.h:1630
isc::agent::AgentParser::make_MAXVER
static symbol_type make_MAXVER(const location_type &l)
Definition agent_parser.h:1900
isc::agent::AgentParser::make_PASSWORD
static symbol_type make_PASSWORD(const location_type &l)
Definition agent_parser.h:1555
isc::agent::AgentParser::make_START_JSON
static symbol_type make_START_JSON(const location_type &l)
Definition agent_parser.h:1930
isc::agent::AgentParser::make_CONTROL_SOCKETS
static symbol_type make_CONTROL_SOCKETS(const location_type &l)
Definition agent_parser.h:1645
isc::agent::AgentParser::by_type
by_kind by_type
Backward compatibility for a private implementation detail (Bison 3.6).
Definition agent_parser.h:1034
isc::agent::AgentParser::make_NAME
static symbol_type make_NAME(const location_type &l)
Definition agent_parser.h:1405
isc::agent::AgentParser::make_COMMA
static symbol_type make_COMMA(const location_type &l)
Definition agent_parser.h:1210
isc::agent::AgentParser::make_HOOKS_LIBRARIES
static symbol_type make_HOOKS_LIBRARIES(const location_type &l)
Definition agent_parser.h:1750
isc::agent::AgentParser::token_kind_type
token::token_kind_type token_kind_type
Token kind, as returned by yylex.
Definition agent_parser.h:557
isc::agent::AgentParser::symbol_kind_type
symbol_kind::symbol_kind_type symbol_kind_type
(Internal) symbol kind.
Definition agent_parser.h:763
isc::agent::AgentParser::YYNTOKENS
static const symbol_kind_type YYNTOKENS
The number of tokens.
Definition agent_parser.h:766
isc::agent::AgentParser::make_OUTPUT
static symbol_type make_OUTPUT(const location_type &l)
Definition agent_parser.h:1825
isc::agent::AgentParser::make_CLIENTS
static symbol_type make_CLIENTS(const location_type &l)
Definition agent_parser.h:1510
isc::agent::AgentParser::make_DHCP4_SERVER
static symbol_type make_DHCP4_SERVER(const location_type &l)
Definition agent_parser.h:1660
isc::agent::AgentParser::make_DHCP6_SERVER
static symbol_type make_DHCP6_SERVER(const location_type &l)
Definition agent_parser.h:1675
isc::agent::AgentParser::make_REALM
static symbol_type make_REALM(const location_type &l)
Definition agent_parser.h:1480
isc::agent::AgentParser::make_TRUST_ANCHOR
static symbol_type make_TRUST_ANCHOR(const location_type &l)
Definition agent_parser.h:1585
isc::agent::AgentParser::make_HTTP_PORT
static symbol_type make_HTTP_PORT(const location_type &l)
Definition agent_parser.h:1345
isc::agent::AgentParser::make_PARAMETERS
static symbol_type make_PARAMETERS(const location_type &l)
Definition agent_parser.h:1780
isc::agent::AgentParser::make_SEVERITY
static symbol_type make_SEVERITY(const location_type &l)
Definition agent_parser.h:1855
isc::agent::AgentParser::make_USER
static symbol_type make_USER(const location_type &l)
Definition agent_parser.h:1525
isc::agent::AgentParser::make_USER_FILE
static symbol_type make_USER_FILE(const location_type &l)
Definition agent_parser.h:1540
isc::agent::AgentParser::make_BOOLEAN
static symbol_type make_BOOLEAN(const bool &v, const location_type &l)
Definition agent_parser.h:2020
isc::agent::AgentParser::make_LIBRARY
static symbol_type make_LIBRARY(const location_type &l)
Definition agent_parser.h:1765
isc::agent::AgentParser::token_type
token_kind_type token_type
Backward compatibility alias (Bison 3.6).
Definition agent_parser.h:560
isc::agent::AgentParser::make_KEY_FILE
static symbol_type make_KEY_FILE(const location_type &l)
Definition agent_parser.h:1615
isc::agent::AgentParser::make_AGENT_UNDEF
static symbol_type make_AGENT_UNDEF(const location_type &l)
Definition agent_parser.h:1195
isc::agent::AgentParser::make_START_SUB_AGENT
static symbol_type make_START_SUB_AGENT(const location_type &l)
Definition agent_parser.h:1960
isc::agent::AgentParser::make_DIRECTORY
static symbol_type make_DIRECTORY(const location_type &l)
Definition agent_parser.h:1495
isc::agent::AgentParser::make_VALUE
static symbol_type make_VALUE(const location_type &l)
Definition agent_parser.h:1420
isc::agent::AgentParser::make_UNIX
static symbol_type make_UNIX(const location_type &l)
Definition agent_parser.h:1735
isc::agent::AgentParser::make_MAXSIZE
static symbol_type make_MAXSIZE(const location_type &l)
Definition agent_parser.h:1885
isc::agent::AgentParser::make_USER_CONTEXT
static symbol_type make_USER_CONTEXT(const location_type &l)
Definition agent_parser.h:1375
isc::agent::AgentParser::make_TYPE
static symbol_type make_TYPE(const location_type &l)
Definition agent_parser.h:1450
isc::agent::AgentParser::make_INTEGER
static symbol_type make_INTEGER(const int64_t &v, const location_type &l)
Definition agent_parser.h:1990
isc::agent::ParserContext
Parser context is a wrapper around flex/bison instances dedicated to Control-agent config file parser...
Definition agent/parser_context.h:37
data.h
isc::agent
Definition agent_parser.cc:148
isc::data
Definition base_stamped_element.cc:12
isc::data::ElementPtr
boost::shared_ptr< Element > ElementPtr
Definition data.h:28
isc
Defines the logger used by the top-level component of kea-lfc.
Definition agent_parser.cc:148
isc::agent::AgentParser::basic_symbol
A complete symbol.
Definition agent_parser.h:776
isc::agent::AgentParser::basic_symbol::super_type
Base super_type
Alias to Base.
Definition agent_parser.h:778
isc::agent::AgentParser::basic_symbol::basic_symbol
basic_symbol(const basic_symbol &that)
Copy constructor.
Definition agent_parser.h:2422
isc::agent::AgentParser::basic_symbol::basic_symbol
basic_symbol(typename Base::kind_type t, const int64_t &v, const location_type &l)
Definition agent_parser.h:890
isc::agent::AgentParser::basic_symbol< by_kind >::location
location_type location
Definition agent_parser.h:984
isc::agent::AgentParser::basic_symbol::basic_symbol
basic_symbol() YY_NOEXCEPT
Default constructor.
Definition agent_parser.h:781
isc::agent::AgentParser::basic_symbol< by_kind >::move
void move(basic_symbol &s)
isc::agent::AgentParser::basic_symbol::basic_symbol
basic_symbol(typename Base::kind_type t, const location_type &l)
Constructors for typed symbols.
Definition agent_parser.h:835
isc::agent::AgentParser::basic_symbol::basic_symbol
basic_symbol(typename Base::kind_type t, const std::string &v, const location_type &l)
Definition agent_parser.h:904
isc::agent::AgentParser::basic_symbol< by_kind >::clear
void clear() YY_NOEXCEPT
Definition agent_parser.h:920
isc::agent::AgentParser::basic_symbol< by_kind >::empty
bool empty() const YY_NOEXCEPT
isc::agent::AgentParser::basic_symbol::~basic_symbol
~basic_symbol()
Destroy the symbol.
Definition agent_parser.h:912
isc::agent::AgentParser::basic_symbol< by_kind >::value
value_type value
Definition agent_parser.h:981
isc::agent::AgentParser::basic_symbol::type_get
symbol_kind_type type_get() const YY_NOEXCEPT
Backward compatibility (Bison 3.6).
Definition agent_parser.h:2463
isc::agent::AgentParser::basic_symbol::basic_symbol
basic_symbol(typename Base::kind_type t, const ElementPtr &v, const location_type &l)
Definition agent_parser.h:848
isc::agent::AgentParser::basic_symbol::basic_symbol
basic_symbol(typename Base::kind_type t, const double &v, const location_type &l)
Definition agent_parser.h:876
isc::agent::AgentParser::basic_symbol::name
std::string name() const YY_NOEXCEPT
The user-facing name of this symbol.
Definition agent_parser.h:966
isc::agent::AgentParser::basic_symbol::basic_symbol
basic_symbol(typename Base::kind_type t, const bool &v, const location_type &l)
Definition agent_parser.h:862
isc::agent::AgentParser::by_kind
Type access provider for token (enum) based symbols.
Definition agent_parser.h:995
isc::agent::AgentParser::by_kind::by_kind
by_kind() YY_NOEXCEPT
Default constructor.
Definition agent_parser.h:2515
isc::agent::AgentParser::by_kind::kind
symbol_kind_type kind() const YY_NOEXCEPT
The (internal) type number (corresponding to type).
Definition agent_parser.h:2557
isc::agent::AgentParser::by_kind::kind_type
token_kind_type kind_type
The symbol kind as needed by the constructor.
Definition agent_parser.h:997
isc::agent::AgentParser::by_kind::kind_
symbol_kind_type kind_
The symbol kind.
Definition agent_parser.h:1030
isc::agent::AgentParser::by_kind::type_get
symbol_kind_type type_get() const YY_NOEXCEPT
Backward compatibility (Bison 3.6).
Definition agent_parser.h:2565
isc::agent::AgentParser::by_kind::clear
void clear() YY_NOEXCEPT
Record that this symbol is empty.
Definition agent_parser.h:2542
isc::agent::AgentParser::by_kind::move
void move(by_kind &that)
Steal the symbol kind from that.
Definition agent_parser.h:2549
isc::agent::AgentParser::symbol_kind
Symbol kinds.
Definition agent_parser.h:564
isc::agent::AgentParser::symbol_kind::symbol_kind_type
symbol_kind_type
Definition agent_parser.h:566
isc::agent::AgentParser::symbol_kind::S_http_header_param
@ S_http_header_param
Definition agent_parser.h:674
isc::agent::AgentParser::symbol_kind::S_password
@ S_password
Definition agent_parser.h:731
isc::agent::AgentParser::symbol_kind::S_control_socket
@ S_control_socket
Definition agent_parser.h:694
isc::agent::AgentParser::symbol_kind::S_list_content
@ S_list_content
Definition agent_parser.h:643
isc::agent::AgentParser::symbol_kind::S_FLUSH
@ S_FLUSH
Definition agent_parser.h:616
isc::agent::AgentParser::symbol_kind::S_password_file
@ S_password_file
Definition agent_parser.h:733
isc::agent::AgentParser::symbol_kind::S_severity
@ S_severity
Definition agent_parser.h:743
isc::agent::AgentParser::symbol_kind::S_UNIX
@ S_UNIX
Definition agent_parser.h:607
isc::agent::AgentParser::symbol_kind::S_key_file
@ S_key_file
Definition agent_parser.h:660
isc::agent::AgentParser::symbol_kind::S_COLON
@ S_COLON
Definition agent_parser.h:573
isc::agent::AgentParser::symbol_kind::S_maxver
@ S_maxver
Definition agent_parser.h:756
isc::agent::AgentParser::symbol_kind::S_http_header_params
@ S_http_header_params
Definition agent_parser.h:673
isc::agent::AgentParser::symbol_kind::S_PATTERN
@ S_PATTERN
Definition agent_parser.h:619
isc::agent::AgentParser::symbol_kind::S_95_13
@ S_95_13
Definition agent_parser.h:664
isc::agent::AgentParser::symbol_kind::S_global_object
@ S_global_object
Definition agent_parser.h:648
isc::agent::AgentParser::symbol_kind::S_auth_type_value
@ S_auth_type_value
Definition agent_parser.h:714
isc::agent::AgentParser::symbol_kind::S_COMMENT
@ S_COMMENT
Definition agent_parser.h:584
isc::agent::AgentParser::symbol_kind::S_MAXSIZE
@ S_MAXSIZE
Definition agent_parser.h:617
isc::agent::AgentParser::symbol_kind::S_global_params
@ S_global_params
Definition agent_parser.h:651
isc::agent::AgentParser::symbol_kind::S_TRUST_ANCHOR
@ S_TRUST_ANCHOR
Definition agent_parser.h:597
isc::agent::AgentParser::symbol_kind::S_REALM
@ S_REALM
Definition agent_parser.h:590
isc::agent::AgentParser::symbol_kind::S_HTTP_HOST
@ S_HTTP_HOST
Definition agent_parser.h:580
isc::agent::AgentParser::symbol_kind::S_KEY_FILE
@ S_KEY_FILE
Definition agent_parser.h:599
isc::agent::AgentParser::symbol_kind::S_123_23
@ S_123_23
Definition agent_parser.h:692
isc::agent::AgentParser::symbol_kind::S_clients_param
@ S_clients_param
Definition agent_parser.h:726
isc::agent::AgentParser::symbol_kind::S_147_31
@ S_147_31
Definition agent_parser.h:716
isc::agent::AgentParser::symbol_kind::S_189_45
@ S_189_45
Definition agent_parser.h:758
isc::agent::AgentParser::symbol_kind::S_clients_list
@ S_clients_list
Definition agent_parser.h:721
isc::agent::AgentParser::symbol_kind::S_HTTP_PORT
@ S_HTTP_PORT
Definition agent_parser.h:581
isc::agent::AgentParser::symbol_kind::S_62_3
@ S_62_3
Definition agent_parser.h:631
isc::agent::AgentParser::symbol_kind::S_RSQUARE_BRACKET
@ S_RSQUARE_BRACKET
Definition agent_parser.h:575
isc::agent::AgentParser::symbol_kind::S_137_28
@ S_137_28
Definition agent_parser.h:706
isc::agent::AgentParser::symbol_kind::S_START_AGENT
@ S_START_AGENT
Definition agent_parser.h:621
isc::agent::AgentParser::symbol_kind::S_value
@ S_value
Definition agent_parser.h:635
isc::agent::AgentParser::symbol_kind::S_85_9
@ S_85_9
Definition agent_parser.h:654
isc::agent::AgentParser::symbol_kind::S_map
@ S_map
Definition agent_parser.h:636
isc::agent::AgentParser::symbol_kind::S_START_SUB_AGENT
@ S_START_SUB_AGENT
Definition agent_parser.h:622
isc::agent::AgentParser::symbol_kind::S_list_generic
@ S_list_generic
Definition agent_parser.h:641
isc::agent::AgentParser::symbol_kind::S_DHCP4_SERVER
@ S_DHCP4_SERVER
Definition agent_parser.h:602
isc::agent::AgentParser::symbol_kind::S_NAME
@ S_NAME
Definition agent_parser.h:585
isc::agent::AgentParser::symbol_kind::S_161_36
@ S_161_36
Definition agent_parser.h:730
isc::agent::AgentParser::symbol_kind::S_realm
@ S_realm
Definition agent_parser.h:715
isc::agent::AgentParser::symbol_kind::S_socket_name
@ S_socket_name
Definition agent_parser.h:703
isc::agent::AgentParser::symbol_kind::S_parameters
@ S_parameters
Definition agent_parser.h:689
isc::agent::AgentParser::symbol_kind::S_authentication
@ S_authentication
Definition agent_parser.h:708
isc::agent::AgentParser::symbol_kind::S_basic_auth
@ S_basic_auth
Definition agent_parser.h:723
isc::agent::AgentParser::symbol_kind::S_MAXVER
@ S_MAXVER
Definition agent_parser.h:618
isc::agent::AgentParser::symbol_kind::S_177_42
@ S_177_42
Definition agent_parser.h:746
isc::agent::AgentParser::symbol_kind::S_DHCP6_SERVER
@ S_DHCP6_SERVER
Definition agent_parser.h:603
isc::agent::AgentParser::symbol_kind::S_68_5
@ S_68_5
Definition agent_parser.h:637
isc::agent::AgentParser::symbol_kind::S_COMMA
@ S_COMMA
Definition agent_parser.h:572
isc::agent::AgentParser::symbol_kind::S_PARAMETERS
@ S_PARAMETERS
Definition agent_parser.h:610
isc::agent::AgentParser::symbol_kind::S_socket_type
@ S_socket_type
Definition agent_parser.h:705
isc::agent::AgentParser::symbol_kind::S_maxsize
@ S_maxsize
Definition agent_parser.h:755
isc::agent::AgentParser::symbol_kind::S_165_38
@ S_165_38
Definition agent_parser.h:734
isc::agent::AgentParser::symbol_kind::S_logger_entry
@ S_logger_entry
Definition agent_parser.h:738
isc::agent::AgentParser::symbol_kind::S_CLIENTS
@ S_CLIENTS
Definition agent_parser.h:592
isc::agent::AgentParser::symbol_kind::S_comment
@ S_comment
Definition agent_parser.h:665
isc::agent::AgentParser::symbol_kind::S_184_44
@ S_184_44
Definition agent_parser.h:753
isc::agent::AgentParser::symbol_kind::S_user_context
@ S_user_context
Definition agent_parser.h:663
isc::agent::AgentParser::symbol_kind::S_FLOAT
@ S_FLOAT
Definition agent_parser.h:625
isc::agent::AgentParser::symbol_kind::S_clients_params
@ S_clients_params
Definition agent_parser.h:725
isc::agent::AgentParser::symbol_kind::S_DIRECTORY
@ S_DIRECTORY
Definition agent_parser.h:591
isc::agent::AgentParser::symbol_kind::S_131_26
@ S_131_26
Definition agent_parser.h:700
isc::agent::AgentParser::symbol_kind::S_SOCKET_TYPE
@ S_SOCKET_TYPE
Definition agent_parser.h:606
isc::agent::AgentParser::symbol_kind::S_OUTPUT_OPTIONS
@ S_OUTPUT_OPTIONS
Definition agent_parser.h:612
isc::agent::AgentParser::symbol_kind::S_output_params_list
@ S_output_params_list
Definition agent_parser.h:750
isc::agent::AgentParser::symbol_kind::S_directory
@ S_directory
Definition agent_parser.h:717
isc::agent::AgentParser::symbol_kind::S_cert_required
@ S_cert_required
Definition agent_parser.h:662
isc::agent::AgentParser::symbol_kind::S_OUTPUT
@ S_OUTPUT
Definition agent_parser.h:613
isc::agent::AgentParser::symbol_kind::S_CONTROL_SOCKETS
@ S_CONTROL_SOCKETS
Definition agent_parser.h:601
isc::agent::AgentParser::symbol_kind::S_INTEGER
@ S_INTEGER
Definition agent_parser.h:624
isc::agent::AgentParser::symbol_kind::S_LCURLY_BRACKET
@ S_LCURLY_BRACKET
Definition agent_parser.h:576
isc::agent::AgentParser::symbol_kind::S_135_27
@ S_135_27
Definition agent_parser.h:704
isc::agent::AgentParser::symbol_kind::S_loggers_entries
@ S_loggers_entries
Definition agent_parser.h:737
isc::agent::AgentParser::symbol_kind::S_119_21
@ S_119_21
Definition agent_parser.h:688
isc::agent::AgentParser::symbol_kind::S_not_empty_list
@ S_not_empty_list
Definition agent_parser.h:644
isc::agent::AgentParser::symbol_kind::S_not_empty_clients_list
@ S_not_empty_clients_list
Definition agent_parser.h:722
isc::agent::AgentParser::symbol_kind::S_auth_param
@ S_auth_param
Definition agent_parser.h:711
isc::agent::AgentParser::symbol_kind::S_output_options_list_content
@ S_output_options_list_content
Definition agent_parser.h:747
isc::agent::AgentParser::symbol_kind::S_144_30
@ S_144_30
Definition agent_parser.h:713
isc::agent::AgentParser::symbol_kind::S_auth_params
@ S_auth_params
Definition agent_parser.h:710
isc::agent::AgentParser::symbol_kind::S_140_29
@ S_140_29
Definition agent_parser.h:709
isc::agent::AgentParser::symbol_kind::S_flush
@ S_flush
Definition agent_parser.h:754
isc::agent::AgentParser::symbol_kind::S_170_40
@ S_170_40
Definition agent_parser.h:739
isc::agent::AgentParser::symbol_kind::S_not_empty_http_header_list
@ S_not_empty_http_header_list
Definition agent_parser.h:670
isc::agent::AgentParser::symbol_kind::S_LIBRARY
@ S_LIBRARY
Definition agent_parser.h:609
isc::agent::AgentParser::symbol_kind::YYNTOKENS
@ YYNTOKENS
Number of tokens.
Definition agent_parser.h:567
isc::agent::AgentParser::symbol_kind::S_YYEMPTY
@ S_YYEMPTY
Definition agent_parser.h:568
isc::agent::AgentParser::symbol_kind::S_121_22
@ S_121_22
Definition agent_parser.h:690
isc::agent::AgentParser::symbol_kind::S_control_socket_param
@ S_control_socket_param
Definition agent_parser.h:702
isc::agent::AgentParser::symbol_kind::S_hooks_libraries_list
@ S_hooks_libraries_list
Definition agent_parser.h:681
isc::agent::AgentParser::symbol_kind::S_78_7
@ S_78_7
Definition agent_parser.h:647
isc::agent::AgentParser::symbol_kind::S_output_entry
@ S_output_entry
Definition agent_parser.h:748
isc::agent::AgentParser::symbol_kind::S_159_35
@ S_159_35
Definition agent_parser.h:728
isc::agent::AgentParser::symbol_kind::S_unknown_map_entry
@ S_unknown_map_entry
Definition agent_parser.h:645
isc::agent::AgentParser::symbol_kind::S_d2_server_socket
@ S_d2_server_socket
Definition agent_parser.h:699
isc::agent::AgentParser::symbol_kind::S_YYUNDEF
@ S_YYUNDEF
Definition agent_parser.h:571
isc::agent::AgentParser::symbol_kind::S_dhcp4_server_socket
@ S_dhcp4_server_socket
Definition agent_parser.h:695
isc::agent::AgentParser::symbol_kind::S_start
@ S_start
Definition agent_parser.h:628
isc::agent::AgentParser::symbol_kind::S_115_20
@ S_115_20
Definition agent_parser.h:684
isc::agent::AgentParser::symbol_kind::S_header_value
@ S_header_value
Definition agent_parser.h:677
isc::agent::AgentParser::symbol_kind::S_127_24
@ S_127_24
Definition agent_parser.h:696
isc::agent::AgentParser::symbol_kind::S_155_34
@ S_155_34
Definition agent_parser.h:724
isc::agent::AgentParser::symbol_kind::S_trust_anchor
@ S_trust_anchor
Definition agent_parser.h:656
isc::agent::AgentParser::symbol_kind::S_YYACCEPT
@ S_YYACCEPT
Definition agent_parser.h:627
isc::agent::AgentParser::symbol_kind::S_map_content
@ S_map_content
Definition agent_parser.h:639
isc::agent::AgentParser::symbol_kind::S_103_16
@ S_103_16
Definition agent_parser.h:672
isc::agent::AgentParser::symbol_kind::S_socket_type_value
@ S_socket_type_value
Definition agent_parser.h:707
isc::agent::AgentParser::symbol_kind::S_HTTP_HEADERS
@ S_HTTP_HEADERS
Definition agent_parser.h:582
isc::agent::AgentParser::symbol_kind::S_map_value
@ S_map_value
Definition agent_parser.h:638
isc::agent::AgentParser::symbol_kind::S_111_19
@ S_111_19
Definition agent_parser.h:680
isc::agent::AgentParser::symbol_kind::S_90_11
@ S_90_11
Definition agent_parser.h:659
isc::agent::AgentParser::symbol_kind::S_logger_params
@ S_logger_params
Definition agent_parser.h:740
isc::agent::AgentParser::symbol_kind::S_USER
@ S_USER
Definition agent_parser.h:593
isc::agent::AgentParser::symbol_kind::S_hooks_param
@ S_hooks_param
Definition agent_parser.h:686
isc::agent::AgentParser::symbol_kind::S_180_43
@ S_180_43
Definition agent_parser.h:749
isc::agent::AgentParser::symbol_kind::S_61_2
@ S_61_2
Definition agent_parser.h:630
isc::agent::AgentParser::symbol_kind::S_output
@ S_output
Definition agent_parser.h:752
isc::agent::AgentParser::symbol_kind::S_CERT_FILE
@ S_CERT_FILE
Definition agent_parser.h:598
isc::agent::AgentParser::symbol_kind::S_149_32
@ S_149_32
Definition agent_parser.h:718
isc::agent::AgentParser::symbol_kind::S_CONTROL_AGENT
@ S_CONTROL_AGENT
Definition agent_parser.h:579
isc::agent::AgentParser::symbol_kind::S_99_15
@ S_99_15
Definition agent_parser.h:668
isc::agent::AgentParser::symbol_kind::S_175_41
@ S_175_41
Definition agent_parser.h:744
isc::agent::AgentParser::symbol_kind::S_global_object_comma
@ S_global_object_comma
Definition agent_parser.h:650
isc::agent::AgentParser::symbol_kind::S_YYEOF
@ S_YYEOF
Definition agent_parser.h:569
isc::agent::AgentParser::symbol_kind::S_TYPE
@ S_TYPE
Definition agent_parser.h:588
isc::agent::AgentParser::symbol_kind::S_logger_param
@ S_logger_param
Definition agent_parser.h:741
isc::agent::AgentParser::symbol_kind::S_BOOLEAN
@ S_BOOLEAN
Definition agent_parser.h:626
isc::agent::AgentParser::symbol_kind::S_user_file
@ S_user_file
Definition agent_parser.h:729
isc::agent::AgentParser::symbol_kind::S_129_25
@ S_129_25
Definition agent_parser.h:698
isc::agent::AgentParser::symbol_kind::S_60_1
@ S_60_1
Definition agent_parser.h:629
isc::agent::AgentParser::symbol_kind::S_HOOKS_LIBRARIES
@ S_HOOKS_LIBRARIES
Definition agent_parser.h:608
isc::agent::AgentParser::symbol_kind::S_RCURLY_BRACKET
@ S_RCURLY_BRACKET
Definition agent_parser.h:577
isc::agent::AgentParser::symbol_kind::S_97_14
@ S_97_14
Definition agent_parser.h:666
isc::agent::AgentParser::symbol_kind::S_http_host
@ S_http_host
Definition agent_parser.h:653
isc::agent::AgentParser::symbol_kind::S_http_port
@ S_http_port
Definition agent_parser.h:655
isc::agent::AgentParser::symbol_kind::S_auth_type
@ S_auth_type
Definition agent_parser.h:712
isc::agent::AgentParser::symbol_kind::S_YYerror
@ S_YYerror
Definition agent_parser.h:570
isc::agent::AgentParser::symbol_kind::S_VALUE
@ S_VALUE
Definition agent_parser.h:586
isc::agent::AgentParser::symbol_kind::S_STRING
@ S_STRING
Definition agent_parser.h:623
isc::agent::AgentParser::symbol_kind::S_hooks_params
@ S_hooks_params
Definition agent_parser.h:685
isc::agent::AgentParser::symbol_kind::S_global_param
@ S_global_param
Definition agent_parser.h:652
isc::agent::AgentParser::symbol_kind::S_output_params
@ S_output_params
Definition agent_parser.h:751
isc::agent::AgentParser::symbol_kind::S_LOGGERS
@ S_LOGGERS
Definition agent_parser.h:611
isc::agent::AgentParser::symbol_kind::S_AUTHENTICATION
@ S_AUTHENTICATION
Definition agent_parser.h:587
isc::agent::AgentParser::symbol_kind::S_LSQUARE_BRACKET
@ S_LSQUARE_BRACKET
Definition agent_parser.h:574
isc::agent::AgentParser::symbol_kind::S_library
@ S_library
Definition agent_parser.h:687
isc::agent::AgentParser::symbol_kind::S_http_header_list
@ S_http_header_list
Definition agent_parser.h:669
isc::agent::AgentParser::symbol_kind::S_163_37
@ S_163_37
Definition agent_parser.h:732
isc::agent::AgentParser::symbol_kind::S_http_header
@ S_http_header
Definition agent_parser.h:671
isc::agent::AgentParser::symbol_kind::S_SOCKET_NAME
@ S_SOCKET_NAME
Definition agent_parser.h:605
isc::agent::AgentParser::symbol_kind::S_151_33
@ S_151_33
Definition agent_parser.h:720
isc::agent::AgentParser::symbol_kind::S_cert_file
@ S_cert_file
Definition agent_parser.h:658
isc::agent::AgentParser::symbol_kind::S_PASSWORD_FILE
@ S_PASSWORD_FILE
Definition agent_parser.h:596
isc::agent::AgentParser::symbol_kind::S_http_headers
@ S_http_headers
Definition agent_parser.h:667
isc::agent::AgentParser::symbol_kind::S_sub_agent
@ S_sub_agent
Definition agent_parser.h:632
isc::agent::AgentParser::symbol_kind::S_167_39
@ S_167_39
Definition agent_parser.h:736
isc::agent::AgentParser::symbol_kind::S_SEVERITY
@ S_SEVERITY
Definition agent_parser.h:615
isc::agent::AgentParser::symbol_kind::S_control_socket_params
@ S_control_socket_params
Definition agent_parser.h:701
isc::agent::AgentParser::symbol_kind::S_debuglevel
@ S_debuglevel
Definition agent_parser.h:742
isc::agent::AgentParser::symbol_kind::S_START_JSON
@ S_START_JSON
Definition agent_parser.h:620
isc::agent::AgentParser::symbol_kind::S_64_4
@ S_64_4
Definition agent_parser.h:633
isc::agent::AgentParser::symbol_kind::S_NULL_TYPE
@ S_NULL_TYPE
Definition agent_parser.h:578
isc::agent::AgentParser::symbol_kind::S_hooks_libraries
@ S_hooks_libraries
Definition agent_parser.h:679
isc::agent::AgentParser::symbol_kind::S_user
@ S_user
Definition agent_parser.h:727
isc::agent::AgentParser::symbol_kind::S_control_sockets
@ S_control_sockets
Definition agent_parser.h:691
isc::agent::AgentParser::symbol_kind::S_dhcp6_server_socket
@ S_dhcp6_server_socket
Definition agent_parser.h:697
isc::agent::AgentParser::symbol_kind::S_hooks_library
@ S_hooks_library
Definition agent_parser.h:683
isc::agent::AgentParser::symbol_kind::S_control_sockets_params
@ S_control_sockets_params
Definition agent_parser.h:693
isc::agent::AgentParser::symbol_kind::S_88_10
@ S_88_10
Definition agent_parser.h:657
isc::agent::AgentParser::symbol_kind::S_DEBUGLEVEL
@ S_DEBUGLEVEL
Definition agent_parser.h:614
isc::agent::AgentParser::symbol_kind::S_agent_syntax_map
@ S_agent_syntax_map
Definition agent_parser.h:646
isc::agent::AgentParser::symbol_kind::S_clients
@ S_clients
Definition agent_parser.h:719
isc::agent::AgentParser::symbol_kind::S_pattern
@ S_pattern
Definition agent_parser.h:757
isc::agent::AgentParser::symbol_kind::S_output_options_list
@ S_output_options_list
Definition agent_parser.h:745
isc::agent::AgentParser::symbol_kind::S_USER_FILE
@ S_USER_FILE
Definition agent_parser.h:594
isc::agent::AgentParser::symbol_kind::S_not_empty_hooks_libraries_list
@ S_not_empty_hooks_libraries_list
Definition agent_parser.h:682
isc::agent::AgentParser::symbol_kind::S_USER_CONTEXT
@ S_USER_CONTEXT
Definition agent_parser.h:583
isc::agent::AgentParser::symbol_kind::S_BASIC
@ S_BASIC
Definition agent_parser.h:589
isc::agent::AgentParser::symbol_kind::S_73_6
@ S_73_6
Definition agent_parser.h:642
isc::agent::AgentParser::symbol_kind::S_not_empty_map
@ S_not_empty_map
Definition agent_parser.h:640
isc::agent::AgentParser::symbol_kind::S_loggers
@ S_loggers
Definition agent_parser.h:735
isc::agent::AgentParser::symbol_kind::S_107_17
@ S_107_17
Definition agent_parser.h:676
isc::agent::AgentParser::symbol_kind::S_92_12
@ S_92_12
Definition agent_parser.h:661
isc::agent::AgentParser::symbol_kind::S_name
@ S_name
Definition agent_parser.h:675
isc::agent::AgentParser::symbol_kind::S_CERT_REQUIRED
@ S_CERT_REQUIRED
Definition agent_parser.h:600
isc::agent::AgentParser::symbol_kind::S_80_8
@ S_80_8
Definition agent_parser.h:649
isc::agent::AgentParser::symbol_kind::S_PASSWORD
@ S_PASSWORD
Definition agent_parser.h:595
isc::agent::AgentParser::symbol_kind::S_D2_SERVER
@ S_D2_SERVER
Definition agent_parser.h:604
isc::agent::AgentParser::symbol_kind::S_109_18
@ S_109_18
Definition agent_parser.h:678
isc::agent::AgentParser::symbol_kind::S_json
@ S_json
Definition agent_parser.h:634
isc::agent::AgentParser::symbol_type
"External" symbols: returned by the scanner.
Definition agent_parser.h:1038
isc::agent::AgentParser::symbol_type::symbol_type
symbol_type() YY_NOEXCEPT
Empty symbol.
Definition agent_parser.h:1043
isc::agent::AgentParser::symbol_type::super_type
basic_symbol< by_kind > super_type
Superclass.
Definition agent_parser.h:1040
isc::agent::AgentParser::syntax_error::~syntax_error
~syntax_error() YY_NOEXCEPT YY_NOTHROW
Definition agent_parser.cc:165
isc::agent::AgentParser::syntax_error::syntax_error
syntax_error(const syntax_error &s)
Definition agent_parser.h:477
isc::agent::AgentParser::syntax_error::syntax_error
syntax_error(const location_type &l, const std::string &m)
Definition agent_parser.h:472
isc::agent::AgentParser::syntax_error::location
location_type location
Definition agent_parser.h:484
isc::agent::AgentParser::token
Token kinds.
Definition agent_parser.h:489
isc::agent::AgentParser::token::token_kind_type
token_kind_type
Definition agent_parser.h:491
isc::agent::AgentParser::token::TOKEN_INTEGER
@ TOKEN_INTEGER
Definition agent_parser.h:548
isc::agent::AgentParser::token::TOKEN_COLON
@ TOKEN_COLON
Definition agent_parser.h:497
isc::agent::AgentParser::token::TOKEN_DIRECTORY
@ TOKEN_DIRECTORY
Definition agent_parser.h:515
isc::agent::AgentParser::token::TOKEN_CONTROL_AGENT
@ TOKEN_CONTROL_AGENT
Definition agent_parser.h:503
isc::agent::AgentParser::token::TOKEN_DHCP6_SERVER
@ TOKEN_DHCP6_SERVER
Definition agent_parser.h:527
isc::agent::AgentParser::token::TOKEN_FLOAT
@ TOKEN_FLOAT
Definition agent_parser.h:549
isc::agent::AgentParser::token::TOKEN_OUTPUT_OPTIONS
@ TOKEN_OUTPUT_OPTIONS
Definition agent_parser.h:536
isc::agent::AgentParser::token::TOKEN_USER
@ TOKEN_USER
Definition agent_parser.h:517
isc::agent::AgentParser::token::TOKEN_OUTPUT
@ TOKEN_OUTPUT
Definition agent_parser.h:537
isc::agent::AgentParser::token::TOKEN_COMMENT
@ TOKEN_COMMENT
Definition agent_parser.h:508
isc::agent::AgentParser::token::TOKEN_SOCKET_NAME
@ TOKEN_SOCKET_NAME
Definition agent_parser.h:529
isc::agent::AgentParser::token::TOKEN_SOCKET_TYPE
@ TOKEN_SOCKET_TYPE
Definition agent_parser.h:530
isc::agent::AgentParser::token::TOKEN_USER_CONTEXT
@ TOKEN_USER_CONTEXT
Definition agent_parser.h:507
isc::agent::AgentParser::token::TOKEN_UNIX
@ TOKEN_UNIX
Definition agent_parser.h:531
isc::agent::AgentParser::token::TOKEN_CERT_REQUIRED
@ TOKEN_CERT_REQUIRED
Definition agent_parser.h:524
isc::agent::AgentParser::token::TOKEN_FLUSH
@ TOKEN_FLUSH
Definition agent_parser.h:540
isc::agent::AgentParser::token::TOKEN_NULL_TYPE
@ TOKEN_NULL_TYPE
Definition agent_parser.h:502
isc::agent::AgentParser::token::TOKEN_VALUE
@ TOKEN_VALUE
Definition agent_parser.h:510
isc::agent::AgentParser::token::TOKEN_KEY_FILE
@ TOKEN_KEY_FILE
Definition agent_parser.h:523
isc::agent::AgentParser::token::TOKEN_REALM
@ TOKEN_REALM
Definition agent_parser.h:514
isc::agent::AgentParser::token::TOKEN_RCURLY_BRACKET
@ TOKEN_RCURLY_BRACKET
Definition agent_parser.h:501
isc::agent::AgentParser::token::TOKEN_STRING
@ TOKEN_STRING
Definition agent_parser.h:547
isc::agent::AgentParser::token::TOKEN_SEVERITY
@ TOKEN_SEVERITY
Definition agent_parser.h:539
isc::agent::AgentParser::token::TOKEN_START_JSON
@ TOKEN_START_JSON
Definition agent_parser.h:544
isc::agent::AgentParser::token::TOKEN_BOOLEAN
@ TOKEN_BOOLEAN
Definition agent_parser.h:550
isc::agent::AgentParser::token::TOKEN_AGENT_EMPTY
@ TOKEN_AGENT_EMPTY
Definition agent_parser.h:492
isc::agent::AgentParser::token::TOKEN_HTTP_HEADERS
@ TOKEN_HTTP_HEADERS
Definition agent_parser.h:506
isc::agent::AgentParser::token::TOKEN_HTTP_PORT
@ TOKEN_HTTP_PORT
Definition agent_parser.h:505
isc::agent::AgentParser::token::TOKEN_START_AGENT
@ TOKEN_START_AGENT
Definition agent_parser.h:545
isc::agent::AgentParser::token::TOKEN_END
@ TOKEN_END
Definition agent_parser.h:493
isc::agent::AgentParser::token::TOKEN_AGENT_UNDEF
@ TOKEN_AGENT_UNDEF
Definition agent_parser.h:495
isc::agent::AgentParser::token::TOKEN_TYPE
@ TOKEN_TYPE
Definition agent_parser.h:512
isc::agent::AgentParser::token::TOKEN_AUTHENTICATION
@ TOKEN_AUTHENTICATION
Definition agent_parser.h:511
isc::agent::AgentParser::token::TOKEN_START_SUB_AGENT
@ TOKEN_START_SUB_AGENT
Definition agent_parser.h:546
isc::agent::AgentParser::token::TOKEN_CONTROL_SOCKETS
@ TOKEN_CONTROL_SOCKETS
Definition agent_parser.h:525
isc::agent::AgentParser::token::TOKEN_AGENT_error
@ TOKEN_AGENT_error
Definition agent_parser.h:494
isc::agent::AgentParser::token::TOKEN_HOOKS_LIBRARIES
@ TOKEN_HOOKS_LIBRARIES
Definition agent_parser.h:532
isc::agent::AgentParser::token::TOKEN_HTTP_HOST
@ TOKEN_HTTP_HOST
Definition agent_parser.h:504
isc::agent::AgentParser::token::TOKEN_USER_FILE
@ TOKEN_USER_FILE
Definition agent_parser.h:518
isc::agent::AgentParser::token::TOKEN_LIBRARY
@ TOKEN_LIBRARY
Definition agent_parser.h:533
isc::agent::AgentParser::token::TOKEN_LCURLY_BRACKET
@ TOKEN_LCURLY_BRACKET
Definition agent_parser.h:500
isc::agent::AgentParser::token::TOKEN_RSQUARE_BRACKET
@ TOKEN_RSQUARE_BRACKET
Definition agent_parser.h:499
isc::agent::AgentParser::token::TOKEN_MAXSIZE
@ TOKEN_MAXSIZE
Definition agent_parser.h:541
isc::agent::AgentParser::token::TOKEN_LSQUARE_BRACKET
@ TOKEN_LSQUARE_BRACKET
Definition agent_parser.h:498
isc::agent::AgentParser::token::TOKEN_CERT_FILE
@ TOKEN_CERT_FILE
Definition agent_parser.h:522
isc::agent::AgentParser::token::TOKEN_D2_SERVER
@ TOKEN_D2_SERVER
Definition agent_parser.h:528
isc::agent::AgentParser::token::TOKEN_DHCP4_SERVER
@ TOKEN_DHCP4_SERVER
Definition agent_parser.h:526
isc::agent::AgentParser::token::TOKEN_PATTERN
@ TOKEN_PATTERN
Definition agent_parser.h:543
isc::agent::AgentParser::token::TOKEN_MAXVER
@ TOKEN_MAXVER
Definition agent_parser.h:542
isc::agent::AgentParser::token::TOKEN_CLIENTS
@ TOKEN_CLIENTS
Definition agent_parser.h:516
isc::agent::AgentParser::token::TOKEN_NAME
@ TOKEN_NAME
Definition agent_parser.h:509
isc::agent::AgentParser::token::TOKEN_COMMA
@ TOKEN_COMMA
Definition agent_parser.h:496
isc::agent::AgentParser::token::TOKEN_PARAMETERS
@ TOKEN_PARAMETERS
Definition agent_parser.h:534
isc::agent::AgentParser::token::TOKEN_PASSWORD_FILE
@ TOKEN_PASSWORD_FILE
Definition agent_parser.h:520
isc::agent::AgentParser::token::TOKEN_DEBUGLEVEL
@ TOKEN_DEBUGLEVEL
Definition agent_parser.h:538
isc::agent::AgentParser::token::TOKEN_PASSWORD
@ TOKEN_PASSWORD
Definition agent_parser.h:519
isc::agent::AgentParser::token::TOKEN_LOGGERS
@ TOKEN_LOGGERS
Definition agent_parser.h:535
isc::agent::AgentParser::token::TOKEN_TRUST_ANCHOR
@ TOKEN_TRUST_ANCHOR
Definition agent_parser.h:521
isc::agent::AgentParser::token::TOKEN_BASIC
@ TOKEN_BASIC
Definition agent_parser.h:513
isc::agent::AgentParser::token::yytokentype
token_kind_type yytokentype
Backward compatibility alias (Bison 3.6).
Definition agent_parser.h:553