45#ifndef YY_NETCONF_NETCONF_PARSER_H_INCLUDED
46# define YY_NETCONF_NETCONF_PARSER_H_INCLUDED
48#line 17 "netconf_parser.yy"
52#include <boost/lexical_cast.hpp>
59#line 60 "netconf_parser.h"
68#if defined __cplusplus
69# define YY_CPLUSPLUS __cplusplus
71# define YY_CPLUSPLUS 199711L
75#if 201103L <= YY_CPLUSPLUS
76# define YY_MOVE std::move
77# define YY_MOVE_OR_COPY move
78# define YY_MOVE_REF(Type) Type&&
79# define YY_RVREF(Type) Type&&
80# define YY_COPY(Type) Type
83# define YY_MOVE_OR_COPY copy
84# define YY_MOVE_REF(Type) Type&
85# define YY_RVREF(Type) const Type&
86# define YY_COPY(Type) const Type&
90#if 201103L <= YY_CPLUSPLUS
91# define YY_NOEXCEPT noexcept
95# define YY_NOTHROW throw ()
99#if 201703 <= YY_CPLUSPLUS
100# define YY_CONSTEXPR constexpr
104# include "location.hh"
106#ifndef NETCONF__ASSERT
108# define NETCONF__ASSERT assert
112#ifndef YY_ATTRIBUTE_PURE
113# if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__)
114# define YY_ATTRIBUTE_PURE __attribute__ ((__pure__))
116# define YY_ATTRIBUTE_PURE
120#ifndef YY_ATTRIBUTE_UNUSED
121# if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__)
122# define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
124# define YY_ATTRIBUTE_UNUSED
129#if ! defined lint || defined __GNUC__
130# define YY_USE(E) ((void) (E))
135#if defined __GNUC__ && ! defined __ICC && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
137# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
138 _Pragma ("GCC diagnostic push") \
139 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") \
140 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
141# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
142 _Pragma ("GCC diagnostic pop")
144# define YY_INITIAL_VALUE(Value) Value
146#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
147# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
148# define YY_IGNORE_MAYBE_UNINITIALIZED_END
150#ifndef YY_INITIAL_VALUE
151# define YY_INITIAL_VALUE(Value)
154#if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__
155# define YY_IGNORE_USELESS_CAST_BEGIN \
156 _Pragma ("GCC diagnostic push") \
157 _Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"")
158# define YY_IGNORE_USELESS_CAST_END \
159 _Pragma ("GCC diagnostic pop")
161#ifndef YY_IGNORE_USELESS_CAST_BEGIN
162# define YY_IGNORE_USELESS_CAST_BEGIN
163# define YY_IGNORE_USELESS_CAST_END
168# define YY_CAST(Type, Val) static_cast<Type> (Val)
169# define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val)
171# define YY_CAST(Type, Val) ((Type) (Val))
172# define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val))
176# if defined __cplusplus
177# if 201103L <= __cplusplus
178# define YY_NULLPTR nullptr
183# define YY_NULLPTR ((void*)0)
191# define NETCONF_DEBUG 1
193# define NETCONF_DEBUG 0
196# define NETCONF_DEBUG 1
200#line 14 "netconf_parser.yy"
201namespace isc {
namespace netconf {
202#line 203 "netconf_parser.h"
226 , yytypeid_ (YY_NULLPTR)
230 template <
typename T>
232 : yytypeid_ (&typeid (T))
235 new (yyas_<T> ()) T (
YY_MOVE (t));
238#if 201103L <= YY_CPLUSPLUS
251# if 201103L <= YY_CPLUSPLUS
253 template <
typename T,
typename... U>
259 yytypeid_ = &
typeid (T);
260 return *
new (yyas_<T> ()) T (std::forward <U>(u)...);
264 template <
typename T>
270 yytypeid_ = &
typeid (T);
271 return *
new (yyas_<T> ()) T ();
275 template <
typename T>
281 yytypeid_ = &
typeid (T);
282 return *
new (yyas_<T> ()) T (t);
288 template <
typename T>
292 return emplace<T> ();
297 template <
typename T>
301 return emplace<T> (t);
305 template <
typename T>
316 template <
typename T>
334 template <
typename T>
340 std::swap (as<T> (), that.as<T> ());
346 template <
typename T>
350# if 201103L <= YY_CPLUSPLUS
351 emplace<T> (std::move (that.
as<T> ()));
359# if 201103L <= YY_CPLUSPLUS
361 template <
typename T>
365 emplace<T> (std::move (that.as<T> ()));
371 template <
typename T>
375 emplace<T> (that.
as<T> ());
379 template <
typename T>
384 yytypeid_ = YY_NULLPTR;
388#if YY_CPLUSPLUS < 201103L
396 template <
typename T>
400 void *yyp = yybuffer_.yyraw;
401 return static_cast<T*
> (yyp);
405 template <
typename T>
409 const void *yyp = yybuffer_.yyraw;
410 return static_cast<const T*
> (yyp);
422 char dummy2[
sizeof (bool)];
425 char dummy3[
sizeof (double)];
428 char dummy4[
sizeof (int64_t)];
431 char dummy5[
sizeof (std::string)];
435 enum { size =
sizeof (union_type) };
447 const std::type_info *yytypeid_;
451 typedef NETCONF_STYPE semantic_type;
460 : std::runtime_error (m)
465 : std::runtime_error (s.what ())
479 TOKEN_NETCONF_EMPTY = -2,
481 TOKEN_NETCONF_error = 256,
482 TOKEN_NETCONF_UNDEF = 257,
485 TOKEN_LSQUARE_BRACKET = 260,
486 TOKEN_RSQUARE_BRACKET = 261,
487 TOKEN_LCURLY_BRACKET = 262,
488 TOKEN_RCURLY_BRACKET = 263,
489 TOKEN_NULL_TYPE = 264,
491 TOKEN_USER_CONTEXT = 266,
493 TOKEN_BOOT_UPDATE = 268,
494 TOKEN_SUBSCRIBE_CHANGES = 269,
495 TOKEN_VALIDATE_CHANGES = 270,
496 TOKEN_MANAGED_SERVERS = 271,
497 TOKEN_DHCP4_SERVER = 272,
498 TOKEN_DHCP6_SERVER = 273,
499 TOKEN_D2_SERVER = 274,
500 TOKEN_CA_SERVER = 275,
502 TOKEN_CONTROL_SOCKET = 277,
503 TOKEN_SOCKET_TYPE = 278,
507 TOKEN_SOCKET_NAME = 282,
508 TOKEN_SOCKET_URL = 283,
509 TOKEN_HOOKS_LIBRARIES = 284,
511 TOKEN_PARAMETERS = 286,
514 TOKEN_OUTPUT_OPTIONS = 289,
516 TOKEN_DEBUGLEVEL = 291,
517 TOKEN_SEVERITY = 292,
522 TOKEN_START_JSON = 297,
523 TOKEN_START_NETCONF = 298,
524 TOKEN_START_SUB_NETCONF = 299,
552 S_LSQUARE_BRACKET = 5,
553 S_RSQUARE_BRACKET = 6,
554 S_LCURLY_BRACKET = 7,
555 S_RCURLY_BRACKET = 8,
561 S_SUBSCRIBE_CHANGES = 14,
562 S_VALIDATE_CHANGES = 15,
563 S_MANAGED_SERVERS = 16,
569 S_CONTROL_SOCKET = 22,
576 S_HOOKS_LIBRARIES = 29,
581 S_OUTPUT_OPTIONS = 34,
590 S_START_NETCONF = 43,
591 S_START_SUB_NETCONF = 44,
609 S_not_empty_map = 62,
613 S_not_empty_list = 66,
614 S_unknown_map_entry = 67,
615 S_netconf_syntax_map = 68,
617 S_global_object = 70,
619 S_global_params = 72,
620 S_not_empty_global_params = 73,
623 S_subscribe_changes = 76,
624 S_validate_changes = 77,
629 S_hooks_libraries = 82,
631 S_hooks_libraries_list = 84,
632 S_not_empty_hooks_libraries_list = 85,
633 S_hooks_library = 86,
641 S_managed_servers = 94,
643 S_servers_entries = 96,
644 S_not_empty_servers_entries = 97,
648 S_dhcp6_server = 101,
654 S_managed_server_params = 107,
655 S_managed_server_param = 108,
658 S_control_socket = 111,
660 S_control_socket_params = 113,
661 S_control_socket_param = 114,
664 S_socket_type_value = 117,
671 S_loggers_entries = 124,
672 S_logger_entry = 125,
674 S_logger_params = 127,
675 S_logger_param = 128,
681 S_output_options_list = 134,
683 S_output_options_list_content = 136,
684 S_output_entry = 137,
686 S_output_params_list = 139,
687 S_output_params = 140,
710 template <
typename Base>
722#if 201103L <= YY_CPLUSPLUS
725 : Base (std::move (that))
729 switch (this->kind ())
734 value.move<
ElementPtr > (std::move (that.value));
738 value.move<
bool > (std::move (that.value));
742 value.move<
double > (std::move (that.value));
746 value.move< int64_t > (std::move (that.value));
750 value.move< std::string > (std::move (that.value));
761 basic_symbol (
const basic_symbol& that);
764#if 201103L <= YY_CPLUSPLUS
776#if 201103L <= YY_CPLUSPLUS
779 , value (std::move (v))
790#if 201103L <= YY_CPLUSPLUS
793 , value (std::move (v))
804#if 201103L <= YY_CPLUSPLUS
807 , value (std::move (v))
818#if 201103L <= YY_CPLUSPLUS
821 , value (std::move (v))
832#if 201103L <= YY_CPLUSPLUS
835 , value (std::move (v))
871 value.template destroy< ElementPtr > ();
875 value.template destroy< bool > ();
879 value.template destroy< double > ();
883 value.template destroy< int64_t > ();
887 value.template destroy< std::string > ();
919#if YY_CPLUSPLUS < 201103L
931#if 201103L <= YY_CPLUSPLUS
976#if 201103L <= YY_CPLUSPLUS
987#if 201103L <= YY_CPLUSPLUS
989 : super_type(
token_type (tok), std::move (v), std::move (l))
997#if 201103L <= YY_CPLUSPLUS
999 : super_type(
token_type (tok), std::move (v), std::move (l))
1007#if 201103L <= YY_CPLUSPLUS
1009 : super_type(
token_type (tok), std::move (v), std::move (l))
1017#if 201103L <= YY_CPLUSPLUS
1019 : super_type(
token_type (tok), std::move (v), std::move (l))
1033#if 201103L <= YY_CPLUSPLUS
1046 virtual int parse ();
1075#if 201103L <= YY_CPLUSPLUS
1090#if 201103L <= YY_CPLUSPLUS
1105#if 201103L <= YY_CPLUSPLUS
1120#if 201103L <= YY_CPLUSPLUS
1135#if 201103L <= YY_CPLUSPLUS
1150#if 201103L <= YY_CPLUSPLUS
1165#if 201103L <= YY_CPLUSPLUS
1180#if 201103L <= YY_CPLUSPLUS
1195#if 201103L <= YY_CPLUSPLUS
1210#if 201103L <= YY_CPLUSPLUS
1225#if 201103L <= YY_CPLUSPLUS
1240#if 201103L <= YY_CPLUSPLUS
1255#if 201103L <= YY_CPLUSPLUS
1270#if 201103L <= YY_CPLUSPLUS
1285#if 201103L <= YY_CPLUSPLUS
1300#if 201103L <= YY_CPLUSPLUS
1315#if 201103L <= YY_CPLUSPLUS
1330#if 201103L <= YY_CPLUSPLUS
1345#if 201103L <= YY_CPLUSPLUS
1360#if 201103L <= YY_CPLUSPLUS
1375#if 201103L <= YY_CPLUSPLUS
1390#if 201103L <= YY_CPLUSPLUS
1405#if 201103L <= YY_CPLUSPLUS
1420#if 201103L <= YY_CPLUSPLUS
1435#if 201103L <= YY_CPLUSPLUS
1450#if 201103L <= YY_CPLUSPLUS
1465#if 201103L <= YY_CPLUSPLUS
1480#if 201103L <= YY_CPLUSPLUS
1495#if 201103L <= YY_CPLUSPLUS
1510#if 201103L <= YY_CPLUSPLUS
1525#if 201103L <= YY_CPLUSPLUS
1540#if 201103L <= YY_CPLUSPLUS
1555#if 201103L <= YY_CPLUSPLUS
1570#if 201103L <= YY_CPLUSPLUS
1585#if 201103L <= YY_CPLUSPLUS
1600#if 201103L <= YY_CPLUSPLUS
1615#if 201103L <= YY_CPLUSPLUS
1630#if 201103L <= YY_CPLUSPLUS
1645#if 201103L <= YY_CPLUSPLUS
1660#if 201103L <= YY_CPLUSPLUS
1675#if 201103L <= YY_CPLUSPLUS
1690#if 201103L <= YY_CPLUSPLUS
1705#if 201103L <= YY_CPLUSPLUS
1720#if 201103L <= YY_CPLUSPLUS
1735#if 201103L <= YY_CPLUSPLUS
1750#if 201103L <= YY_CPLUSPLUS
1765#if 201103L <= YY_CPLUSPLUS
1780#if 201103L <= YY_CPLUSPLUS
1795#if 201103L <= YY_CPLUSPLUS
1831#if YY_CPLUSPLUS < 201103L
1840 typedef short state_type;
1843 int yy_syntax_error_arguments_ (
const context& yyctx,
1848 virtual std::string yysyntax_error_ (
const context& yyctx)
const;
1852 static state_type yy_lr_goto_state_ (state_type yystate,
int yysym);
1856 static bool yy_pact_value_is_default_ (
int yyvalue);
1860 static bool yy_table_value_is_error_ (
int yyvalue);
1862 static const signed char yypact_ninf_;
1863 static const signed char yytable_ninf_;
1871 static std::string yytnamerr_ (
const char *yystr);
1874 static const char*
const yytname_[];
1880 static const short yypact_[];
1885 static const unsigned char yydefact_[];
1888 static const short yypgoto_[];
1891 static const short yydefgoto_[];
1896 static const short yytable_[];
1898 static const short yycheck_[];
1902 static const unsigned char yystos_[];
1905 static const unsigned char yyr1_[];
1908 static const signed char yyr2_[];
1913 static const short yyrline_[];
1915 virtual void yy_reduce_print_ (
int r)
const;
1917 virtual void yy_stack_print_ ()
const;
1922 std::ostream* yycdebug_;
1927 template <
typename Base>
1928 void yy_print_ (std::ostream& yyo,
const basic_symbol<Base>& yysym)
const;
1935 template <
typename Base>
1936 void yy_destroy_ (
const char* yymsg, basic_symbol<Base>& yysym)
const;
1946 typedef state_type kind_type;
1958 void move (by_state& that);
1966 enum { empty_state = 0 };
1974 struct stack_symbol_type : basic_symbol<by_state>
1977 typedef basic_symbol<by_state> super_type;
1979 stack_symbol_type ();
1981 stack_symbol_type (
YY_RVREF (stack_symbol_type) that);
1983 stack_symbol_type (state_type s,
YY_MOVE_REF (symbol_type) sym);
1984#if YY_CPLUSPLUS < 201103L
1987 stack_symbol_type& operator= (stack_symbol_type& that);
1991 stack_symbol_type& operator= (
const stack_symbol_type& that);
1996 template <
typename T,
typename S = std::vector<T> >
2001 typedef typename S::iterator iterator;
2002 typedef typename S::const_iterator const_iterator;
2003 typedef typename S::size_type size_type;
2004 typedef typename std::ptrdiff_t index_type;
2006 stack (size_type n = 200)
2010#if 201103L <= YY_CPLUSPLUS
2012 stack (
const stack&) =
delete;
2014 stack& operator= (
const stack&) =
delete;
2021 operator[] (index_type i)
const
2023 return seq_[size_type (size () - 1 - i)];
2030 operator[] (index_type i)
2032 return seq_[size_type (size () - 1 - i)];
2041 seq_.push_back (T ());
2042 operator[] (0).move (t);
2064 return index_type (seq_.size ());
2071 return seq_.begin ();
2085 slice (
const stack& stack, index_type range)
2091 operator[] (index_type i)
const
2093 return stack_[range_ - i];
2097 const stack& stack_;
2102#if YY_CPLUSPLUS < 201103L
2104 stack (
const stack&);
2106 stack& operator= (
const stack&);
2114 typedef stack<stack_symbol_type> stack_type;
2117 stack_type yystack_;
2124 void yypush_ (
const char* m,
YY_MOVE_REF (stack_symbol_type) sym);
2132 void yypush_ (
const char* m, state_type s,
YY_MOVE_REF (symbol_type) sym);
2135 void yypop_ (
int n = 1);
2153 NetconfParser::yytranslate_ (
int t)
2161 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2162 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2163 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2164 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2165 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2166 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2167 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2168 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2169 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2170 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2171 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2172 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2173 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2174 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2175 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2176 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2177 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2178 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2179 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2180 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2181 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2182 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2183 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2184 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2185 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2186 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
2187 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
2188 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
2189 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
2190 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
2194 const int code_max = 303;
2198 else if (t <= code_max)
2205 template <
typename Base>
2211 switch (this->kind ())
2243 template <
typename Base>
2247 return this->kind ();
2250 template <
typename Base>
2257 template <
typename Base>
2261 super_type::move (s);
2262 switch (this->kind ())
2299#if 201103L <= YY_CPLUSPLUS
2302 : kind_ (that.kind_)
2310 : kind_ (that.kind_)
2315 : kind_ (yytranslate_ (t))
2344 return this->kind ();
2347#line 14 "netconf_parser.yy"
2349#line 2350 "netconf_parser.h"
const location_type & location() const YY_NOEXCEPT
symbol_kind_type token() const YY_NOEXCEPT
const symbol_type & lookahead() const YY_NOEXCEPT
A buffer to store and retrieve objects.
char yyraw[size]
A buffer large enough to store any of the semantic values.
semantic_type() YY_NOEXCEPT
Empty construction.
void destroy()
Destroy the stored T.
T & emplace(const T &t)
Instantiate a T in here from t.
const T & as() const YY_NOEXCEPT
Const accessor to a built T (for printer).
semantic_type self_type
Type of *this.
void move(self_type &that)
Move the content of that to this.
T & emplace()
Instantiate an empty T in here.
semantic_type(YY_RVREF(T) t)
Construct and fill.
void swap(self_type &that) YY_NOEXCEPT
Swap the content with that, of same type.
T & build()
Instantiate an empty T in here.
T & as() YY_NOEXCEPT
Accessor to a built T.
void copy(const self_type &that)
Copy the content of that to this.
T & build(const T &t)
Instantiate a T in here from t.
long double yyalign_me
Strongest alignment constraints.
~semantic_type() YY_NOEXCEPT
Destruction, allowed only if empty.
Present a slice of the top of a stack.
slice(const stack &stack, index_type range)
static symbol_type make_NETCONF(const location_type &l)
static symbol_type make_SOCKET_URL(const location_type &l)
static symbol_type make_MAXVER(const location_type &l)
static symbol_type make_OUTPUT_OPTIONS(const location_type &l)
static symbol_type make_MAXSIZE(const location_type &l)
static symbol_type make_INTEGER(const int64_t &v, const location_type &l)
virtual int parse()
Parse.
static symbol_type make_HOOKS_LIBRARIES(const location_type &l)
static symbol_type make_CONTROL_SOCKET(const location_type &l)
void set_debug_stream(std::ostream &)
Set the current debugging stream.
static symbol_type make_OUTPUT(const location_type &l)
static symbol_type make_DHCP6_SERVER(const location_type &l)
std::ostream & debug_stream() const YY_ATTRIBUTE_PURE
The current debugging stream.
static symbol_type make_BOOT_UPDATE(const location_type &l)
static symbol_type make_NETCONF_UNDEF(const location_type &l)
static symbol_type make_NULL_TYPE(const location_type &l)
static symbol_type make_DEBUGLEVEL(const location_type &l)
static symbol_type make_HTTP(const location_type &l)
static std::string symbol_name(symbol_kind_type yysymbol)
The user-facing name of the symbol whose (internal) number is YYSYMBOL.
static symbol_type make_VALIDATE_CHANGES(const location_type &l)
static symbol_type make_END(const location_type &l)
static symbol_type make_LIBRARY(const location_type &l)
static symbol_type make_LOGGERS(const location_type &l)
static symbol_type make_NETCONF_error(const location_type &l)
static symbol_type make_LCURLY_BRACKET(const location_type &l)
token::yytokentype token_kind_type
Token kind, as returned by yylex.
token_kind_type token_type
Backward compatibility alias (Bison 3.6).
NetconfParser(isc::netconf::ParserContext &ctx_yyarg)
Build a parser object.
static symbol_type make_STDOUT(const location_type &l)
virtual void error(const location_type &loc, const std::string &msg)
Report a syntax error.
static symbol_type make_SOCKET_TYPE(const location_type &l)
symbol_kind::symbol_kind_type symbol_kind_type
(Internal) symbol kind.
static symbol_type make_LSQUARE_BRACKET(const location_type &l)
static symbol_type make_DHCP4_SERVER(const location_type &l)
int debug_level_type
Type for debugging levels.
static symbol_type make_D2_SERVER(const location_type &l)
static symbol_type make_PARAMETERS(const location_type &l)
static symbol_type make_NAME(const location_type &l)
static symbol_type make_FLUSH(const location_type &l)
static symbol_type make_START_JSON(const location_type &l)
static symbol_type make_UNIX(const location_type &l)
static symbol_type make_PATTERN(const location_type &l)
static symbol_type make_STRING(const std::string &v, const location_type &l)
static const symbol_kind_type YYNTOKENS
The number of tokens.
static symbol_type make_COMMENT(const location_type &l)
static symbol_type make_SEVERITY(const location_type &l)
static symbol_type make_MANAGED_SERVERS(const location_type &l)
location location_type
Symbol locations.
static symbol_type make_SUBSCRIBE_CHANGES(const location_type &l)
static symbol_type make_CA_SERVER(const location_type &l)
static symbol_type make_COLON(const location_type &l)
static symbol_type make_RCURLY_BRACKET(const location_type &l)
void set_debug_level(debug_level_type l)
Set the current debugging level.
static symbol_type make_USER_CONTEXT(const location_type &l)
static symbol_type make_COMMA(const location_type &l)
static symbol_type make_RSQUARE_BRACKET(const location_type &l)
static symbol_type make_START_NETCONF(const location_type &l)
static symbol_type make_MODEL(const location_type &l)
debug_level_type debug_level() const YY_ATTRIBUTE_PURE
The current debugging level.
static symbol_type make_START_SUB_NETCONF(const location_type &l)
static symbol_type make_BOOLEAN(const bool &v, const location_type &l)
static symbol_type make_FLOAT(const double &v, const location_type &l)
static symbol_type make_SOCKET_NAME(const location_type &l)
Parser context is a wrapper around flex/bison instances dedicated to Netconf-agent config file parser...
boost::shared_ptr< Element > ElementPtr
Defines the logger used by the top-level component of kea-lfc.
Forward declaration of the ParserContext class.
#define YY_CAST(Type, Val)
#define YY_MOVE_REF(Type)
#define YY_ATTRIBUTE_PURE
bool empty() const YY_NOEXCEPT
Whether empty.
basic_symbol(typename Base::kind_type t, const bool &v, const location_type &l)
semantic_type value
The semantic value.
basic_symbol(typename Base::kind_type t, const double &v, const location_type &l)
void move(basic_symbol &s)
Destructive move, s is emptied into this.
Base super_type
Alias to Base.
basic_symbol(typename Base::kind_type t, const ElementPtr &v, const location_type &l)
basic_symbol(typename Base::kind_type t, const location_type &l)
Constructors for typed symbols.
basic_symbol(typename Base::kind_type t, const std::string &v, const location_type &l)
symbol_kind_type type_get() const YY_NOEXCEPT
Backward compatibility (Bison 3.6).
basic_symbol(typename Base::kind_type t, const int64_t &v, const location_type &l)
basic_symbol()
Default constructor.
std::string name() const YY_NOEXCEPT
The user-facing name of this symbol.
location_type location
The location.
~basic_symbol()
Destroy the symbol.
void clear() YY_NOEXCEPT
Destroy contents, and record that is empty.
Type access provider for token (enum) based symbols.
token_kind_type kind_type
The symbol kind as needed by the constructor.
symbol_kind_type type_get() const YY_NOEXCEPT
Backward compatibility (Bison 3.6).
by_kind()
Default constructor.
symbol_kind_type kind() const YY_NOEXCEPT
The (internal) type number (corresponding to type).
symbol_kind_type kind_
The symbol kind.
void move(by_kind &that)
Steal the symbol kind from that.
void clear() YY_NOEXCEPT
Record that this symbol is empty.
@ YYNTOKENS
Number of tokens.
"External" symbols: returned by the scanner.
basic_symbol< by_kind > super_type
Superclass.
symbol_type()
Empty symbol.
Syntax errors thrown from user actions.
syntax_error(const location_type &l, const std::string &m)
~syntax_error() YY_NOEXCEPT YY_NOTHROW
syntax_error(const syntax_error &s)
token_kind_type yytokentype
Backward compatibility alias (Bison 3.6).
@ TOKEN_SUBSCRIBE_CHANGES
@ TOKEN_START_SUB_NETCONF