973#if YY_CPLUSPLUS < 201103L
988#if 201103L <= YY_CPLUSPLUS
1032#if 201103L <= YY_CPLUSPLUS
1040#if !defined _MSC_VER || defined __clang__
1042 || (token::TOKEN_AGENT_error <= tok && tok <= token::TOKEN_START_SUB_AGENT));
1045#if 201103L <= YY_CPLUSPLUS
1053#if !defined _MSC_VER || defined __clang__
1057#if 201103L <= YY_CPLUSPLUS
1065#if !defined _MSC_VER || defined __clang__
1069#if 201103L <= YY_CPLUSPLUS
1077#if !defined _MSC_VER || defined __clang__
1081#if 201103L <= YY_CPLUSPLUS
1089#if !defined _MSC_VER || defined __clang__
1099#if 201103L <= YY_CPLUSPLUS
1112 virtual int parse ();
1118 void set_debug_stream (std::ostream &);
1121 typedef
int debug_level_type;
1125 void set_debug_level (debug_level_type l);
1131 virtual void error (
const location_type& loc,
const std::string& msg);
1134 void error (
const syntax_error& err);
1138 static std::string symbol_name (symbol_kind_type yysymbol);
1141#if 201103L <= YY_CPLUSPLUS
1144 make_END (location_type l)
1146 return symbol_type (token::TOKEN_END, std::move (l));
1156#if 201103L <= YY_CPLUSPLUS
1159 make_AGENT_error (location_type l)
1161 return symbol_type (token::TOKEN_AGENT_error, std::move (l));
1171#if 201103L <= YY_CPLUSPLUS
1174 make_AGENT_UNDEF (location_type l)
1176 return symbol_type (token::TOKEN_AGENT_UNDEF, std::move (l));
1186#if 201103L <= YY_CPLUSPLUS
1189 make_COMMA (location_type l)
1191 return symbol_type (token::TOKEN_COMMA, std::move (l));
1201#if 201103L <= YY_CPLUSPLUS
1204 make_COLON (location_type l)
1206 return symbol_type (token::TOKEN_COLON, std::move (l));
1216#if 201103L <= YY_CPLUSPLUS
1219 make_LSQUARE_BRACKET (location_type l)
1221 return symbol_type (token::TOKEN_LSQUARE_BRACKET, std::move (l));
1228 return symbol_type (token::TOKEN_LSQUARE_BRACKET, l);
1231#if 201103L <= YY_CPLUSPLUS
1234 make_RSQUARE_BRACKET (location_type l)
1236 return symbol_type (token::TOKEN_RSQUARE_BRACKET, std::move (l));
1243 return symbol_type (token::TOKEN_RSQUARE_BRACKET, l);
1246#if 201103L <= YY_CPLUSPLUS
1249 make_LCURLY_BRACKET (location_type l)
1251 return symbol_type (token::TOKEN_LCURLY_BRACKET, std::move (l));
1258 return symbol_type (token::TOKEN_LCURLY_BRACKET, l);
1261#if 201103L <= YY_CPLUSPLUS
1264 make_RCURLY_BRACKET (location_type l)
1266 return symbol_type (token::TOKEN_RCURLY_BRACKET, std::move (l));
1273 return symbol_type (token::TOKEN_RCURLY_BRACKET, l);
1276#if 201103L <= YY_CPLUSPLUS
1279 make_NULL_TYPE (location_type l)
1281 return symbol_type (token::TOKEN_NULL_TYPE, std::move (l));
1291#if 201103L <= YY_CPLUSPLUS
1294 make_CONTROL_AGENT (location_type l)
1296 return symbol_type (token::TOKEN_CONTROL_AGENT, std::move (l));
1303 return symbol_type (token::TOKEN_CONTROL_AGENT, l);
1306#if 201103L <= YY_CPLUSPLUS
1309 make_HTTP_HOST (location_type l)
1311 return symbol_type (token::TOKEN_HTTP_HOST, std::move (l));
1321#if 201103L <= YY_CPLUSPLUS
1324 make_HTTP_PORT (location_type l)
1326 return symbol_type (token::TOKEN_HTTP_PORT, std::move (l));
1336#if 201103L <= YY_CPLUSPLUS
1339 make_USER_CONTEXT (location_type l)
1341 return symbol_type (token::TOKEN_USER_CONTEXT, std::move (l));
1348 return symbol_type (token::TOKEN_USER_CONTEXT, l);
1351#if 201103L <= YY_CPLUSPLUS
1354 make_COMMENT (location_type l)
1356 return symbol_type (token::TOKEN_COMMENT, std::move (l));
1366#if 201103L <= YY_CPLUSPLUS
1369 make_AUTHENTICATION (location_type l)
1371 return symbol_type (token::TOKEN_AUTHENTICATION, std::move (l));
1378 return symbol_type (token::TOKEN_AUTHENTICATION, l);
1381#if 201103L <= YY_CPLUSPLUS
1384 make_TYPE (location_type l)
1386 return symbol_type (token::TOKEN_TYPE, std::move (l));
1396#if 201103L <= YY_CPLUSPLUS
1399 make_BASIC (location_type l)
1401 return symbol_type (token::TOKEN_BASIC, std::move (l));
1411#if 201103L <= YY_CPLUSPLUS
1414 make_REALM (location_type l)
1416 return symbol_type (token::TOKEN_REALM, std::move (l));
1426#if 201103L <= YY_CPLUSPLUS
1429 make_DIRECTORY (location_type l)
1431 return symbol_type (token::TOKEN_DIRECTORY, std::move (l));
1441#if 201103L <= YY_CPLUSPLUS
1444 make_CLIENTS (location_type l)
1446 return symbol_type (token::TOKEN_CLIENTS, std::move (l));
1456#if 201103L <= YY_CPLUSPLUS
1459 make_USER (location_type l)
1461 return symbol_type (token::TOKEN_USER, std::move (l));
1471#if 201103L <= YY_CPLUSPLUS
1474 make_USER_FILE (location_type l)
1476 return symbol_type (token::TOKEN_USER_FILE, std::move (l));
1486#if 201103L <= YY_CPLUSPLUS
1489 make_PASSWORD (location_type l)
1491 return symbol_type (token::TOKEN_PASSWORD, std::move (l));
1501#if 201103L <= YY_CPLUSPLUS
1504 make_PASSWORD_FILE (location_type l)
1506 return symbol_type (token::TOKEN_PASSWORD_FILE, std::move (l));
1513 return symbol_type (token::TOKEN_PASSWORD_FILE, l);
1516#if 201103L <= YY_CPLUSPLUS
1519 make_TRUST_ANCHOR (location_type l)
1521 return symbol_type (token::TOKEN_TRUST_ANCHOR, std::move (l));
1528 return symbol_type (token::TOKEN_TRUST_ANCHOR, l);
1531#if 201103L <= YY_CPLUSPLUS
1534 make_CERT_FILE (location_type l)
1536 return symbol_type (token::TOKEN_CERT_FILE, std::move (l));
1546#if 201103L <= YY_CPLUSPLUS
1549 make_KEY_FILE (location_type l)
1551 return symbol_type (token::TOKEN_KEY_FILE, std::move (l));
1561#if 201103L <= YY_CPLUSPLUS
1564 make_CERT_REQUIRED (location_type l)
1566 return symbol_type (token::TOKEN_CERT_REQUIRED, std::move (l));
1573 return symbol_type (token::TOKEN_CERT_REQUIRED, l);
1576#if 201103L <= YY_CPLUSPLUS
1579 make_CONTROL_SOCKETS (location_type l)
1581 return symbol_type (token::TOKEN_CONTROL_SOCKETS, std::move (l));
1588 return symbol_type (token::TOKEN_CONTROL_SOCKETS, l);
1591#if 201103L <= YY_CPLUSPLUS
1594 make_DHCP4_SERVER (location_type l)
1596 return symbol_type (token::TOKEN_DHCP4_SERVER, std::move (l));
1603 return symbol_type (token::TOKEN_DHCP4_SERVER, l);
1606#if 201103L <= YY_CPLUSPLUS
1609 make_DHCP6_SERVER (location_type l)
1611 return symbol_type (token::TOKEN_DHCP6_SERVER, std::move (l));
1618 return symbol_type (token::TOKEN_DHCP6_SERVER, l);
1621#if 201103L <= YY_CPLUSPLUS
1624 make_D2_SERVER (location_type l)
1626 return symbol_type (token::TOKEN_D2_SERVER, std::move (l));
1636#if 201103L <= YY_CPLUSPLUS
1639 make_SOCKET_NAME (location_type l)
1641 return symbol_type (token::TOKEN_SOCKET_NAME, std::move (l));
1651#if 201103L <= YY_CPLUSPLUS
1654 make_SOCKET_TYPE (location_type l)
1656 return symbol_type (token::TOKEN_SOCKET_TYPE, std::move (l));
1666#if 201103L <= YY_CPLUSPLUS
1669 make_UNIX (location_type l)
1671 return symbol_type (token::TOKEN_UNIX, std::move (l));
1681#if 201103L <= YY_CPLUSPLUS
1684 make_HOOKS_LIBRARIES (location_type l)
1686 return symbol_type (token::TOKEN_HOOKS_LIBRARIES, std::move (l));
1693 return symbol_type (token::TOKEN_HOOKS_LIBRARIES, l);
1696#if 201103L <= YY_CPLUSPLUS
1699 make_LIBRARY (location_type l)
1701 return symbol_type (token::TOKEN_LIBRARY, std::move (l));
1711#if 201103L <= YY_CPLUSPLUS
1714 make_PARAMETERS (location_type l)
1716 return symbol_type (token::TOKEN_PARAMETERS, std::move (l));
1726#if 201103L <= YY_CPLUSPLUS
1729 make_LOGGERS (location_type l)
1731 return symbol_type (token::TOKEN_LOGGERS, std::move (l));
1741#if 201103L <= YY_CPLUSPLUS
1744 make_NAME (location_type l)
1746 return symbol_type (token::TOKEN_NAME, std::move (l));
1756#if 201103L <= YY_CPLUSPLUS
1759 make_OUTPUT_OPTIONS (location_type l)
1761 return symbol_type (token::TOKEN_OUTPUT_OPTIONS, std::move (l));
1768 return symbol_type (token::TOKEN_OUTPUT_OPTIONS, l);
1771#if 201103L <= YY_CPLUSPLUS
1774 make_OUTPUT (location_type l)
1776 return symbol_type (token::TOKEN_OUTPUT, std::move (l));
1786#if 201103L <= YY_CPLUSPLUS
1789 make_DEBUGLEVEL (location_type l)
1791 return symbol_type (token::TOKEN_DEBUGLEVEL, std::move (l));
1801#if 201103L <= YY_CPLUSPLUS
1804 make_SEVERITY (location_type l)
1806 return symbol_type (token::TOKEN_SEVERITY, std::move (l));
1816#if 201103L <= YY_CPLUSPLUS
1819 make_FLUSH (location_type l)
1821 return symbol_type (token::TOKEN_FLUSH, std::move (l));
1831#if 201103L <= YY_CPLUSPLUS
1834 make_MAXSIZE (location_type l)
1836 return symbol_type (token::TOKEN_MAXSIZE, std::move (l));
1846#if 201103L <= YY_CPLUSPLUS
1849 make_MAXVER (location_type l)
1851 return symbol_type (token::TOKEN_MAXVER, std::move (l));
1861#if 201103L <= YY_CPLUSPLUS
1864 make_PATTERN (location_type l)
1866 return symbol_type (token::TOKEN_PATTERN, std::move (l));
1876#if 201103L <= YY_CPLUSPLUS
1879 make_START_JSON (location_type l)
1881 return symbol_type (token::TOKEN_START_JSON, std::move (l));
1891#if 201103L <= YY_CPLUSPLUS
1894 make_START_AGENT (location_type l)
1896 return symbol_type (token::TOKEN_START_AGENT, std::move (l));
1906#if 201103L <= YY_CPLUSPLUS
1909 make_START_SUB_AGENT (location_type l)
1911 return symbol_type (token::TOKEN_START_SUB_AGENT, std::move (l));
1918 return symbol_type (token::TOKEN_START_SUB_AGENT, l);
1921#if 201103L <= YY_CPLUSPLUS
1924 make_STRING (std::string v, location_type l)
1926 return symbol_type (token::TOKEN_STRING, std::move (v), std::move (l));
1936#if 201103L <= YY_CPLUSPLUS
1939 make_INTEGER (int64_t v, location_type l)
1941 return symbol_type (token::TOKEN_INTEGER, std::move (v), std::move (l));
1951#if 201103L <= YY_CPLUSPLUS
1954 make_FLOAT (
double v, location_type l)
1956 return symbol_type (token::TOKEN_FLOAT, std::move (v), std::move (l));
1966#if 201103L <= YY_CPLUSPLUS
1969 make_BOOLEAN (
bool v, location_type l)
1971 return symbol_type (token::TOKEN_BOOLEAN, std::move (v), std::move (l));
2002#if YY_CPLUSPLUS < 201103L
2011 typedef short state_type;
2014 int yy_syntax_error_arguments_ (
const context& yyctx,
2015 symbol_kind_type yyarg[],
int yyargn)
const;
2019 virtual std::string yysyntax_error_ (
const context& yyctx)
const;
2023 static state_type yy_lr_goto_state_ (state_type yystate,
int yysym);
2027 static bool yy_pact_value_is_default_ (
int yyvalue)
YY_NOEXCEPT;
2031 static bool yy_table_value_is_error_ (
int yyvalue)
YY_NOEXCEPT;
2033 static const short yypact_ninf_;
2034 static const signed char yytable_ninf_;
2039 static symbol_kind_type yytranslate_ (
int t)
YY_NOEXCEPT;
2042 static std::string yytnamerr_ (
const char *yystr);
2045 static const char*
const yytname_[];
2051 static const short yypact_[];
2056 static const unsigned char yydefact_[];
2059 static const short yypgoto_[];
2062 static const short yydefgoto_[];
2067 static const short yytable_[];
2069 static const short yycheck_[];
2073 static const unsigned char yystos_[];
2076 static const unsigned char yyr1_[];
2079 static const signed char yyr2_[];
2084 static const short yyrline_[];
2086 virtual void yy_reduce_print_ (
int r)
const;
2088 virtual void yy_stack_print_ ()
const;
2093 std::ostream* yycdebug_;
2098 template <
typename Base>
2099 void yy_print_ (std::ostream& yyo,
const basic_symbol<Base>& yysym)
const;
2106 template <
typename Base>
2107 void yy_destroy_ (
const char* yymsg, basic_symbol<Base>& yysym)
const;
2117 typedef state_type kind_type;
2129 void move (by_state& that);
2137 enum { empty_state = 0 };
2145 struct stack_symbol_type : basic_symbol<by_state>
2148 typedef basic_symbol<by_state> super_type;
2150 stack_symbol_type ();
2152 stack_symbol_type (
YY_RVREF (stack_symbol_type) that);
2154 stack_symbol_type (state_type s,
YY_MOVE_REF (symbol_type) sym);
2155#if YY_CPLUSPLUS < 201103L
2158 stack_symbol_type& operator= (stack_symbol_type& that);
2162 stack_symbol_type& operator= (
const stack_symbol_type& that);
2167 template <
typename T,
typename S = std::vector<T> >
2172 typedef typename S::iterator iterator;
2173 typedef typename S::const_iterator const_iterator;
2174 typedef typename S::size_type size_type;
2175 typedef typename std::ptrdiff_t index_type;
2181#if 201103L <= YY_CPLUSPLUS
2183 stack (
const stack&) =
delete;
2185 stack& operator= (
const stack&) =
delete;
2192 operator[] (index_type i)
const
2194 return seq_[size_type (size () - 1 - i)];
2201 operator[] (index_type i)
2203 return seq_[size_type (size () - 1 - i)];
2212 seq_.push_back (T ());
2213 operator[] (0).move (t);
2235 return index_type (seq_.size ());
2242 return seq_.begin ();
2262 operator[] (index_type i)
const
2264 return stack_[range_ - i];
2268 const stack& stack_;
2273#if YY_CPLUSPLUS < 201103L
2275 stack (
const stack&);
2277 stack& operator= (
const stack&);
2285 typedef stack<stack_symbol_type> stack_type;
2288 stack_type yystack_;
2295 void yypush_ (
const char* m,
YY_MOVE_REF (stack_symbol_type) sym);
2303 void yypush_ (
const char* m, state_type s,
YY_MOVE_REF (symbol_type) sym);
2332 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2333 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2334 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2335 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2336 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2337 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2338 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2339 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2340 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2341 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2342 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2343 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2344 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2345 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2346 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2347 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2348 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2349 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2350 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2351 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2352 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2353 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2354 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2355 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2356 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2357 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
2358 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
2359 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
2360 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
2361 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
2362 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
2366 const int code_max = 310;
2370 else if (t <= code_max)
2377 template <
typename Base>
2383 switch (this->kind ())
2417 template <
typename Base>
2421 return this->kind ();
2425 template <
typename Base>
2432 template <
typename Base>
2436 super_type::move (s);
2437 switch (this->kind ())