45#ifndef YY_NETCONF_NETCONF_PARSER_H_INCLUDED
46# define YY_NETCONF_NETCONF_PARSER_H_INCLUDED
48#line 17 "netconf_parser.yy"
53#include <boost/lexical_cast.hpp>
62#line 63 "netconf_parser.h"
71#if defined __cplusplus
72# define YY_CPLUSPLUS __cplusplus
74# define YY_CPLUSPLUS 199711L
78#if 201103L <= YY_CPLUSPLUS
79# define YY_MOVE std::move
80# define YY_MOVE_OR_COPY move
81# define YY_MOVE_REF(Type) Type&&
82# define YY_RVREF(Type) Type&&
83# define YY_COPY(Type) Type
86# define YY_MOVE_OR_COPY copy
87# define YY_MOVE_REF(Type) Type&
88# define YY_RVREF(Type) const Type&
89# define YY_COPY(Type) const Type&
93#if 201103L <= YY_CPLUSPLUS
94# define YY_NOEXCEPT noexcept
98# define YY_NOTHROW throw ()
102#if 201703 <= YY_CPLUSPLUS
103# define YY_CONSTEXPR constexpr
107# include "location.hh"
109#ifndef NETCONF__ASSERT
111# define NETCONF__ASSERT assert
115#ifndef YY_ATTRIBUTE_PURE
116# if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__)
117# define YY_ATTRIBUTE_PURE __attribute__ ((__pure__))
119# define YY_ATTRIBUTE_PURE
123#ifndef YY_ATTRIBUTE_UNUSED
124# if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__)
125# define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
127# define YY_ATTRIBUTE_UNUSED
132#if ! defined lint || defined __GNUC__
133# define YY_USE(E) ((void) (E))
139#if defined __GNUC__ && ! defined __ICC && 406 <= __GNUC__ * 100 + __GNUC_MINOR__
140# if __GNUC__ * 100 + __GNUC_MINOR__ < 407
141# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
142 _Pragma ("GCC diagnostic push") \
143 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")
145# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
146 _Pragma ("GCC diagnostic push") \
147 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") \
148 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
150# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
151 _Pragma ("GCC diagnostic pop")
153# define YY_INITIAL_VALUE(Value) Value
155#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
156# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
157# define YY_IGNORE_MAYBE_UNINITIALIZED_END
159#ifndef YY_INITIAL_VALUE
160# define YY_INITIAL_VALUE(Value)
163#if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__
164# define YY_IGNORE_USELESS_CAST_BEGIN \
165 _Pragma ("GCC diagnostic push") \
166 _Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"")
167# define YY_IGNORE_USELESS_CAST_END \
168 _Pragma ("GCC diagnostic pop")
170#ifndef YY_IGNORE_USELESS_CAST_BEGIN
171# define YY_IGNORE_USELESS_CAST_BEGIN
172# define YY_IGNORE_USELESS_CAST_END
177# define YY_CAST(Type, Val) static_cast<Type> (Val)
178# define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val)
180# define YY_CAST(Type, Val) ((Type) (Val))
181# define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val))
185# if defined __cplusplus
186# if 201103L <= __cplusplus
187# define YY_NULLPTR nullptr
192# define YY_NULLPTR ((void*)0)
200# define NETCONF_DEBUG 1
202# define NETCONF_DEBUG 0
205# define NETCONF_DEBUG 1
209#line 14 "netconf_parser.yy"
211#line 212 "netconf_parser.h"
222# pragma GCC message "bison: do not #define NETCONF_STYPE in C++, use %define api.value.type"
240 , yytypeid_ (YY_NULLPTR)
244 template <
typename T>
246 : yytypeid_ (&typeid (T))
249 new (yyas_<T> ()) T (
YY_MOVE (t));
252#if 201103L <= YY_CPLUSPLUS
265# if 201103L <= YY_CPLUSPLUS
267 template <
typename T,
typename... U>
273 yytypeid_ = &
typeid (T);
274 return *
new (yyas_<T> ()) T (std::forward <U>(u)...);
278 template <
typename T>
284 yytypeid_ = &
typeid (T);
285 return *
new (yyas_<T> ()) T ();
289 template <
typename T>
295 yytypeid_ = &
typeid (T);
296 return *
new (yyas_<T> ()) T (t);
302 template <
typename T>
311 template <
typename T>
319 template <
typename T>
330 template <
typename T>
348 template <
typename T>
354 std::swap (
as<T> (), that.as<T> ());
360 template <
typename T>
364# if 201103L <= YY_CPLUSPLUS
373# if 201103L <= YY_CPLUSPLUS
375 template <
typename T>
385 template <
typename T>
393 template <
typename T>
398 yytypeid_ = YY_NULLPTR;
402#if YY_CPLUSPLUS < 201103L
410 template <
typename T>
415 return static_cast<T*
> (yyp);
419 template <
typename T>
424 return static_cast<const T*
> (yyp);
436 char dummy2[
sizeof (bool)];
439 char dummy3[
sizeof (double)];
442 char dummy4[
sizeof (int64_t)];
445 char dummy5[
sizeof (string)];
449 enum { size =
sizeof (union_type) };
461 const std::type_info *yytypeid_;
475 : std::runtime_error (m)
480 : std::runtime_error (s.what ())
722 template <
typename Base>
734#if 201103L <= YY_CPLUSPLUS
737 : Base (std::move (that))
739 , location (std::move (that.location))
741 switch (this->kind ())
746 value.move<
ElementPtr > (std::move (that.value));
750 value.move<
bool > (std::move (that.value));
754 value.move<
double > (std::move (that.value));
758 value.move< int64_t > (std::move (that.value));
762 value.move<
string > (std::move (that.value));
776#if 201103L <= YY_CPLUSPLUS
788#if 201103L <= YY_CPLUSPLUS
791 , value (std::move (v))
792 , location (std::move (l))
802#if 201103L <= YY_CPLUSPLUS
805 , value (std::move (v))
806 , location (std::move (l))
816#if 201103L <= YY_CPLUSPLUS
819 , value (std::move (v))
820 , location (std::move (l))
830#if 201103L <= YY_CPLUSPLUS
833 , value (std::move (v))
834 , location (std::move (l))
844#if 201103L <= YY_CPLUSPLUS
847 , value (std::move (v))
848 , location (std::move (l))
885 value.template destroy< ElementPtr > ();
889 value.template destroy< bool > ();
893 value.template destroy< double > ();
897 value.template destroy< int64_t > ();
901 value.template destroy< string > ();
933#if YY_CPLUSPLUS < 201103L
948#if 201103L <= YY_CPLUSPLUS
992#if 201103L <= YY_CPLUSPLUS
1000#if !defined _MSC_VER || defined __clang__
1005#if 201103L <= YY_CPLUSPLUS
1013#if !defined _MSC_VER || defined __clang__
1017#if 201103L <= YY_CPLUSPLUS
1025#if !defined _MSC_VER || defined __clang__
1029#if 201103L <= YY_CPLUSPLUS
1037#if !defined _MSC_VER || defined __clang__
1041#if 201103L <= YY_CPLUSPLUS
1049#if !defined _MSC_VER || defined __clang__
1059#if 201103L <= YY_CPLUSPLUS
1072 virtual int parse ();
1078 void set_debug_stream (std::ostream &);
1081 typedef
int debug_level_type;
1085 void set_debug_level (debug_level_type l);
1091 virtual void error (
const location_type& loc,
const std::string& msg);
1094 void error (
const syntax_error& err);
1098 static std::string symbol_name (symbol_kind_type yysymbol);
1101#if 201103L <= YY_CPLUSPLUS
1104 make_END (location_type l)
1106 return symbol_type (token::TOKEN_END, std::move (l));
1116#if 201103L <= YY_CPLUSPLUS
1119 make_NETCONF_error (location_type l)
1121 return symbol_type (token::TOKEN_NETCONF_error, std::move (l));
1131#if 201103L <= YY_CPLUSPLUS
1134 make_NETCONF_UNDEF (location_type l)
1136 return symbol_type (token::TOKEN_NETCONF_UNDEF, std::move (l));
1146#if 201103L <= YY_CPLUSPLUS
1149 make_COMMA (location_type l)
1151 return symbol_type (token::TOKEN_COMMA, std::move (l));
1161#if 201103L <= YY_CPLUSPLUS
1164 make_COLON (location_type l)
1166 return symbol_type (token::TOKEN_COLON, std::move (l));
1176#if 201103L <= YY_CPLUSPLUS
1179 make_LSQUARE_BRACKET (location_type l)
1181 return symbol_type (token::TOKEN_LSQUARE_BRACKET, std::move (l));
1191#if 201103L <= YY_CPLUSPLUS
1194 make_RSQUARE_BRACKET (location_type l)
1196 return symbol_type (token::TOKEN_RSQUARE_BRACKET, std::move (l));
1206#if 201103L <= YY_CPLUSPLUS
1209 make_LCURLY_BRACKET (location_type l)
1211 return symbol_type (token::TOKEN_LCURLY_BRACKET, std::move (l));
1221#if 201103L <= YY_CPLUSPLUS
1224 make_RCURLY_BRACKET (location_type l)
1226 return symbol_type (token::TOKEN_RCURLY_BRACKET, std::move (l));
1236#if 201103L <= YY_CPLUSPLUS
1239 make_NULL_TYPE (location_type l)
1241 return symbol_type (token::TOKEN_NULL_TYPE, std::move (l));
1251#if 201103L <= YY_CPLUSPLUS
1254 make_NETCONF (location_type l)
1256 return symbol_type (token::TOKEN_NETCONF, std::move (l));
1266#if 201103L <= YY_CPLUSPLUS
1269 make_USER_CONTEXT (location_type l)
1271 return symbol_type (token::TOKEN_USER_CONTEXT, std::move (l));
1281#if 201103L <= YY_CPLUSPLUS
1284 make_COMMENT (location_type l)
1286 return symbol_type (token::TOKEN_COMMENT, std::move (l));
1296#if 201103L <= YY_CPLUSPLUS
1299 make_BOOT_UPDATE (location_type l)
1301 return symbol_type (token::TOKEN_BOOT_UPDATE, std::move (l));
1311#if 201103L <= YY_CPLUSPLUS
1314 make_SUBSCRIBE_CHANGES (location_type l)
1316 return symbol_type (token::TOKEN_SUBSCRIBE_CHANGES, std::move (l));
1326#if 201103L <= YY_CPLUSPLUS
1329 make_VALIDATE_CHANGES (location_type l)
1331 return symbol_type (token::TOKEN_VALIDATE_CHANGES, std::move (l));
1341#if 201103L <= YY_CPLUSPLUS
1344 make_MANAGED_SERVERS (location_type l)
1346 return symbol_type (token::TOKEN_MANAGED_SERVERS, std::move (l));
1356#if 201103L <= YY_CPLUSPLUS
1359 make_DHCP4_SERVER (location_type l)
1361 return symbol_type (token::TOKEN_DHCP4_SERVER, std::move (l));
1371#if 201103L <= YY_CPLUSPLUS
1374 make_DHCP6_SERVER (location_type l)
1376 return symbol_type (token::TOKEN_DHCP6_SERVER, std::move (l));
1386#if 201103L <= YY_CPLUSPLUS
1389 make_D2_SERVER (location_type l)
1391 return symbol_type (token::TOKEN_D2_SERVER, std::move (l));
1401#if 201103L <= YY_CPLUSPLUS
1404 make_MODEL (location_type l)
1406 return symbol_type (token::TOKEN_MODEL, std::move (l));
1416#if 201103L <= YY_CPLUSPLUS
1419 make_CONTROL_SOCKET (location_type l)
1421 return symbol_type (token::TOKEN_CONTROL_SOCKET, std::move (l));
1431#if 201103L <= YY_CPLUSPLUS
1434 make_SOCKET_TYPE (location_type l)
1436 return symbol_type (token::TOKEN_SOCKET_TYPE, std::move (l));
1446#if 201103L <= YY_CPLUSPLUS
1449 make_UNIX (location_type l)
1451 return symbol_type (token::TOKEN_UNIX, std::move (l));
1461#if 201103L <= YY_CPLUSPLUS
1464 make_HTTP (location_type l)
1466 return symbol_type (token::TOKEN_HTTP, std::move (l));
1476#if 201103L <= YY_CPLUSPLUS
1479 make_STDOUT (location_type l)
1481 return symbol_type (token::TOKEN_STDOUT, std::move (l));
1491#if 201103L <= YY_CPLUSPLUS
1494 make_SOCKET_NAME (location_type l)
1496 return symbol_type (token::TOKEN_SOCKET_NAME, std::move (l));
1506#if 201103L <= YY_CPLUSPLUS
1509 make_SOCKET_URL (location_type l)
1511 return symbol_type (token::TOKEN_SOCKET_URL, std::move (l));
1521#if 201103L <= YY_CPLUSPLUS
1524 make_HOOKS_LIBRARIES (location_type l)
1526 return symbol_type (token::TOKEN_HOOKS_LIBRARIES, std::move (l));
1536#if 201103L <= YY_CPLUSPLUS
1539 make_LIBRARY (location_type l)
1541 return symbol_type (token::TOKEN_LIBRARY, std::move (l));
1551#if 201103L <= YY_CPLUSPLUS
1554 make_PARAMETERS (location_type l)
1556 return symbol_type (token::TOKEN_PARAMETERS, std::move (l));
1566#if 201103L <= YY_CPLUSPLUS
1569 make_LOGGERS (location_type l)
1571 return symbol_type (token::TOKEN_LOGGERS, std::move (l));
1581#if 201103L <= YY_CPLUSPLUS
1584 make_NAME (location_type l)
1586 return symbol_type (token::TOKEN_NAME, std::move (l));
1596#if 201103L <= YY_CPLUSPLUS
1599 make_OUTPUT_OPTIONS (location_type l)
1601 return symbol_type (token::TOKEN_OUTPUT_OPTIONS, std::move (l));
1611#if 201103L <= YY_CPLUSPLUS
1614 make_OUTPUT (location_type l)
1616 return symbol_type (token::TOKEN_OUTPUT, std::move (l));
1626#if 201103L <= YY_CPLUSPLUS
1629 make_DEBUGLEVEL (location_type l)
1631 return symbol_type (token::TOKEN_DEBUGLEVEL, std::move (l));
1641#if 201103L <= YY_CPLUSPLUS
1644 make_SEVERITY (location_type l)
1646 return symbol_type (token::TOKEN_SEVERITY, std::move (l));
1656#if 201103L <= YY_CPLUSPLUS
1659 make_FLUSH (location_type l)
1661 return symbol_type (token::TOKEN_FLUSH, std::move (l));
1671#if 201103L <= YY_CPLUSPLUS
1674 make_MAXSIZE (location_type l)
1676 return symbol_type (token::TOKEN_MAXSIZE, std::move (l));
1686#if 201103L <= YY_CPLUSPLUS
1689 make_MAXVER (location_type l)
1691 return symbol_type (token::TOKEN_MAXVER, std::move (l));
1701#if 201103L <= YY_CPLUSPLUS
1704 make_PATTERN (location_type l)
1706 return symbol_type (token::TOKEN_PATTERN, std::move (l));
1716#if 201103L <= YY_CPLUSPLUS
1719 make_START_JSON (location_type l)
1721 return symbol_type (token::TOKEN_START_JSON, std::move (l));
1731#if 201103L <= YY_CPLUSPLUS
1734 make_START_NETCONF (location_type l)
1736 return symbol_type (token::TOKEN_START_NETCONF, std::move (l));
1746#if 201103L <= YY_CPLUSPLUS
1749 make_START_SUB_NETCONF (location_type l)
1751 return symbol_type (token::TOKEN_START_SUB_NETCONF, std::move (l));
1761#if 201103L <= YY_CPLUSPLUS
1764 make_STRING (
string v, location_type l)
1766 return symbol_type (token::TOKEN_STRING, std::move (v), std::move (l));
1776#if 201103L <= YY_CPLUSPLUS
1779 make_INTEGER (int64_t v, location_type l)
1781 return symbol_type (token::TOKEN_INTEGER, std::move (v), std::move (l));
1791#if 201103L <= YY_CPLUSPLUS
1794 make_FLOAT (
double v, location_type l)
1796 return symbol_type (token::TOKEN_FLOAT, std::move (v), std::move (l));
1806#if 201103L <= YY_CPLUSPLUS
1809 make_BOOLEAN (
bool v, location_type l)
1811 return symbol_type (token::TOKEN_BOOLEAN, std::move (v), std::move (l));
1842#if YY_CPLUSPLUS < 201103L
1851 typedef short state_type;
1854 int yy_syntax_error_arguments_ (
const context& yyctx,
1855 symbol_kind_type yyarg[],
int yyargn)
const;
1859 virtual std::string yysyntax_error_ (
const context& yyctx)
const;
1863 static state_type yy_lr_goto_state_ (state_type yystate,
int yysym);
1867 static bool yy_pact_value_is_default_ (
int yyvalue)
YY_NOEXCEPT;
1871 static bool yy_table_value_is_error_ (
int yyvalue)
YY_NOEXCEPT;
1873 static const signed char yypact_ninf_;
1874 static const signed char yytable_ninf_;
1879 static symbol_kind_type yytranslate_ (
int t)
YY_NOEXCEPT;
1882 static std::string yytnamerr_ (
const char *yystr);
1885 static const char*
const yytname_[];
1891 static const short yypact_[];
1896 static const unsigned char yydefact_[];
1899 static const signed char yypgoto_[];
1902 static const short yydefgoto_[];
1907 static const short yytable_[];
1909 static const short yycheck_[];
1913 static const unsigned char yystos_[];
1916 static const unsigned char yyr1_[];
1919 static const signed char yyr2_[];
1924 static const short yyrline_[];
1926 virtual void yy_reduce_print_ (
int r)
const;
1928 virtual void yy_stack_print_ ()
const;
1933 std::ostream* yycdebug_;
1938 template <
typename Base>
1939 void yy_print_ (std::ostream& yyo,
const basic_symbol<Base>& yysym)
const;
1946 template <
typename Base>
1947 void yy_destroy_ (
const char* yymsg, basic_symbol<Base>& yysym)
const;
1957 typedef state_type kind_type;
1969 void move (by_state& that);
1977 enum { empty_state = 0 };
1985 struct stack_symbol_type : basic_symbol<by_state>
1988 typedef basic_symbol<by_state> super_type;
1990 stack_symbol_type ();
1992 stack_symbol_type (
YY_RVREF (stack_symbol_type) that);
1994 stack_symbol_type (state_type s,
YY_MOVE_REF (symbol_type) sym);
1995#if YY_CPLUSPLUS < 201103L
1998 stack_symbol_type& operator= (stack_symbol_type& that);
2002 stack_symbol_type& operator= (
const stack_symbol_type& that);
2007 template <
typename T,
typename S = std::vector<T> >
2012 typedef typename S::iterator iterator;
2013 typedef typename S::const_iterator const_iterator;
2014 typedef typename S::size_type size_type;
2015 typedef typename std::ptrdiff_t index_type;
2021#if 201103L <= YY_CPLUSPLUS
2023 stack (
const stack&) =
delete;
2025 stack& operator= (
const stack&) =
delete;
2032 operator[] (index_type i)
const
2034 return seq_[size_type (size () - 1 - i)];
2041 operator[] (index_type i)
2043 return seq_[size_type (size () - 1 - i)];
2052 seq_.push_back (T ());
2053 operator[] (0).move (t);
2075 return index_type (seq_.size ());
2082 return seq_.begin ();
2102 operator[] (index_type i)
const
2104 return stack_[range_ - i];
2108 const stack& stack_;
2113#if YY_CPLUSPLUS < 201103L
2115 stack (
const stack&);
2117 stack& operator= (
const stack&);
2125 typedef stack<stack_symbol_type> stack_type;
2128 stack_type yystack_;
2135 void yypush_ (
const char* m,
YY_MOVE_REF (stack_symbol_type) sym);
2143 void yypush_ (
const char* m, state_type s,
YY_MOVE_REF (symbol_type) sym);
2172 0, 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, 2, 2, 2, 2,
2187 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2188 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2189 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2190 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2191 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2192 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2193 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2194 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2195 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2196 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2197 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
2198 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
2199 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
2200 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
2201 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
2205 const int code_max = 302;
2209 else if (t <= code_max)
2216 template <
typename Base>
2222 switch (this->kind ())
2255 template <
typename Base>
2259 return this->kind ();
2263 template <
typename Base>
2270 template <
typename Base>
2274 super_type::move (s);
2275 switch (this->kind ())
2312#if 201103L <= YY_CPLUSPLUS
2315 : kind_ (that.kind_)
2323 :
kind_ (that.kind_)
2328 :
kind_ (yytranslate_ (t))
2360 return this->
kind ();
2364#line 14 "netconf_parser.yy"
2366#line 2367 "netconf_parser.h"
const location_type & location() const YY_NOEXCEPT
symbol_kind_type token() const YY_NOEXCEPT
context(const NetconfParser &yyparser, const symbol_type &yyla)
const symbol_type & lookahead() const YY_NOEXCEPT
slice(const stack &stack, index_type range) YY_NOEXCEPT
A buffer to store and retrieve objects.
long double yyalign_me_
Strongest alignment constraints.
void move(self_type &that)
Move the content of that to this.
T & build(const T &t)
Instantiate a T in here from t.
value_type(YY_RVREF(T) t)
Construct and fill.
void swap(self_type &that) YY_NOEXCEPT
Swap the content with that, of same type.
char yyraw_[size]
A buffer large enough to store any of the semantic values.
value_type self_type
Type of *this.
T & as() YY_NOEXCEPT
Accessor to a built T.
void copy(const self_type &that)
Copy the content of that to this.
T & build()
Instantiate an empty T in here.
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).
T & emplace()
Instantiate an empty T in here.
~value_type() YY_NOEXCEPT
Destruction, allowed only if empty.
value_type() YY_NOEXCEPT
Empty construction.
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)
static symbol_type make_HOOKS_LIBRARIES(const location_type &l)
static symbol_type make_CONTROL_SOCKET(const location_type &l)
static symbol_type make_OUTPUT(const location_type &l)
static symbol_type make_DHCP6_SERVER(const location_type &l)
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)
static symbol_type make_STRING(const string &v, const location_type &l)
token::token_kind_type 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)
value_type semantic_type
Backward compatibility (Bison 3.8).
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)
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 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)
by_kind by_type
Backward compatibility for a private implementation detail (Bison 3.6).
static symbol_type make_COLON(const location_type &l)
static symbol_type make_RCURLY_BRACKET(const location_type &l)
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)
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...
#define YY_MOVE_REF(Type)
#define YY_ATTRIBUTE_PURE
boost::shared_ptr< Element > ElementPtr
Defines the logger used by the top-level component of kea-lfc.
Forward declaration of the ParserContext class.
bool empty() const YY_NOEXCEPT
basic_symbol(typename Base::kind_type t, const bool &v, const location_type &l)
basic_symbol() YY_NOEXCEPT
Default constructor.
basic_symbol(typename Base::kind_type t, const double &v, const location_type &l)
void move(basic_symbol &s)
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(const basic_symbol &that)
Copy constructor.
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(typename Base::kind_type t, const string &v, const location_type &l)
std::string name() const YY_NOEXCEPT
The user-facing name of this symbol.
~basic_symbol()
Destroy the symbol.
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() YY_NOEXCEPT
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.
@ S_not_empty_hooks_libraries_list
@ S_control_socket_params
@ YYNTOKENS
Number of tokens.
@ S_managed_server_params
@ S_not_empty_servers_entries
@ S_not_empty_global_params
@ S_output_options_list_content
"External" symbols: returned by the scanner.
symbol_type() YY_NOEXCEPT
Empty symbol.
basic_symbol< by_kind > super_type
Superclass.
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