987#if YY_CPLUSPLUS < 201103L
1002#if 201103L <= YY_CPLUSPLUS
1046#if 201103L <= YY_CPLUSPLUS
1054#if !defined _MSC_VER || defined __clang__
1056 || (token::TOKEN_AGENT_error <= tok && tok <= token::TOKEN_START_SUB_AGENT));
1059#if 201103L <= YY_CPLUSPLUS
1067#if !defined _MSC_VER || defined __clang__
1071#if 201103L <= YY_CPLUSPLUS
1079#if !defined _MSC_VER || defined __clang__
1083#if 201103L <= YY_CPLUSPLUS
1091#if !defined _MSC_VER || defined __clang__
1095#if 201103L <= YY_CPLUSPLUS
1103#if !defined _MSC_VER || defined __clang__
1113#if 201103L <= YY_CPLUSPLUS
1126 virtual int parse ();
1132 void set_debug_stream (std::ostream &);
1135 typedef
int debug_level_type;
1139 void set_debug_level (debug_level_type l);
1145 virtual void error (
const location_type& loc,
const std::string& msg);
1148 void error (
const syntax_error& err);
1152 static std::string symbol_name (symbol_kind_type yysymbol);
1155#if 201103L <= YY_CPLUSPLUS
1158 make_END (location_type l)
1160 return symbol_type (token::TOKEN_END, std::move (l));
1170#if 201103L <= YY_CPLUSPLUS
1173 make_AGENT_error (location_type l)
1175 return symbol_type (token::TOKEN_AGENT_error, std::move (l));
1185#if 201103L <= YY_CPLUSPLUS
1188 make_AGENT_UNDEF (location_type l)
1190 return symbol_type (token::TOKEN_AGENT_UNDEF, std::move (l));
1200#if 201103L <= YY_CPLUSPLUS
1203 make_COMMA (location_type l)
1205 return symbol_type (token::TOKEN_COMMA, std::move (l));
1215#if 201103L <= YY_CPLUSPLUS
1218 make_COLON (location_type l)
1220 return symbol_type (token::TOKEN_COLON, std::move (l));
1230#if 201103L <= YY_CPLUSPLUS
1233 make_LSQUARE_BRACKET (location_type l)
1235 return symbol_type (token::TOKEN_LSQUARE_BRACKET, std::move (l));
1242 return symbol_type (token::TOKEN_LSQUARE_BRACKET, l);
1245#if 201103L <= YY_CPLUSPLUS
1248 make_RSQUARE_BRACKET (location_type l)
1250 return symbol_type (token::TOKEN_RSQUARE_BRACKET, std::move (l));
1257 return symbol_type (token::TOKEN_RSQUARE_BRACKET, l);
1260#if 201103L <= YY_CPLUSPLUS
1263 make_LCURLY_BRACKET (location_type l)
1265 return symbol_type (token::TOKEN_LCURLY_BRACKET, std::move (l));
1272 return symbol_type (token::TOKEN_LCURLY_BRACKET, l);
1275#if 201103L <= YY_CPLUSPLUS
1278 make_RCURLY_BRACKET (location_type l)
1280 return symbol_type (token::TOKEN_RCURLY_BRACKET, std::move (l));
1287 return symbol_type (token::TOKEN_RCURLY_BRACKET, l);
1290#if 201103L <= YY_CPLUSPLUS
1293 make_NULL_TYPE (location_type l)
1295 return symbol_type (token::TOKEN_NULL_TYPE, std::move (l));
1305#if 201103L <= YY_CPLUSPLUS
1308 make_CONTROL_AGENT (location_type l)
1310 return symbol_type (token::TOKEN_CONTROL_AGENT, std::move (l));
1317 return symbol_type (token::TOKEN_CONTROL_AGENT, l);
1320#if 201103L <= YY_CPLUSPLUS
1323 make_HTTP_HOST (location_type l)
1325 return symbol_type (token::TOKEN_HTTP_HOST, std::move (l));
1335#if 201103L <= YY_CPLUSPLUS
1338 make_HTTP_PORT (location_type l)
1340 return symbol_type (token::TOKEN_HTTP_PORT, std::move (l));
1350#if 201103L <= YY_CPLUSPLUS
1353 make_HTTP_HEADERS (location_type l)
1355 return symbol_type (token::TOKEN_HTTP_HEADERS, std::move (l));
1362 return symbol_type (token::TOKEN_HTTP_HEADERS, l);
1365#if 201103L <= YY_CPLUSPLUS
1368 make_USER_CONTEXT (location_type l)
1370 return symbol_type (token::TOKEN_USER_CONTEXT, std::move (l));
1377 return symbol_type (token::TOKEN_USER_CONTEXT, l);
1380#if 201103L <= YY_CPLUSPLUS
1383 make_COMMENT (location_type l)
1385 return symbol_type (token::TOKEN_COMMENT, std::move (l));
1395#if 201103L <= YY_CPLUSPLUS
1398 make_NAME (location_type l)
1400 return symbol_type (token::TOKEN_NAME, std::move (l));
1410#if 201103L <= YY_CPLUSPLUS
1413 make_VALUE (location_type l)
1415 return symbol_type (token::TOKEN_VALUE, std::move (l));
1425#if 201103L <= YY_CPLUSPLUS
1428 make_AUTHENTICATION (location_type l)
1430 return symbol_type (token::TOKEN_AUTHENTICATION, std::move (l));
1437 return symbol_type (token::TOKEN_AUTHENTICATION, l);
1440#if 201103L <= YY_CPLUSPLUS
1443 make_TYPE (location_type l)
1445 return symbol_type (token::TOKEN_TYPE, std::move (l));
1455#if 201103L <= YY_CPLUSPLUS
1458 make_BASIC (location_type l)
1460 return symbol_type (token::TOKEN_BASIC, std::move (l));
1470#if 201103L <= YY_CPLUSPLUS
1473 make_REALM (location_type l)
1475 return symbol_type (token::TOKEN_REALM, std::move (l));
1485#if 201103L <= YY_CPLUSPLUS
1488 make_DIRECTORY (location_type l)
1490 return symbol_type (token::TOKEN_DIRECTORY, std::move (l));
1500#if 201103L <= YY_CPLUSPLUS
1503 make_CLIENTS (location_type l)
1505 return symbol_type (token::TOKEN_CLIENTS, std::move (l));
1515#if 201103L <= YY_CPLUSPLUS
1518 make_USER (location_type l)
1520 return symbol_type (token::TOKEN_USER, std::move (l));
1530#if 201103L <= YY_CPLUSPLUS
1533 make_USER_FILE (location_type l)
1535 return symbol_type (token::TOKEN_USER_FILE, std::move (l));
1545#if 201103L <= YY_CPLUSPLUS
1548 make_PASSWORD (location_type l)
1550 return symbol_type (token::TOKEN_PASSWORD, std::move (l));
1560#if 201103L <= YY_CPLUSPLUS
1563 make_PASSWORD_FILE (location_type l)
1565 return symbol_type (token::TOKEN_PASSWORD_FILE, std::move (l));
1572 return symbol_type (token::TOKEN_PASSWORD_FILE, l);
1575#if 201103L <= YY_CPLUSPLUS
1578 make_TRUST_ANCHOR (location_type l)
1580 return symbol_type (token::TOKEN_TRUST_ANCHOR, std::move (l));
1587 return symbol_type (token::TOKEN_TRUST_ANCHOR, l);
1590#if 201103L <= YY_CPLUSPLUS
1593 make_CERT_FILE (location_type l)
1595 return symbol_type (token::TOKEN_CERT_FILE, std::move (l));
1605#if 201103L <= YY_CPLUSPLUS
1608 make_KEY_FILE (location_type l)
1610 return symbol_type (token::TOKEN_KEY_FILE, std::move (l));
1620#if 201103L <= YY_CPLUSPLUS
1623 make_CERT_REQUIRED (location_type l)
1625 return symbol_type (token::TOKEN_CERT_REQUIRED, std::move (l));
1632 return symbol_type (token::TOKEN_CERT_REQUIRED, l);
1635#if 201103L <= YY_CPLUSPLUS
1638 make_CONTROL_SOCKETS (location_type l)
1640 return symbol_type (token::TOKEN_CONTROL_SOCKETS, std::move (l));
1647 return symbol_type (token::TOKEN_CONTROL_SOCKETS, l);
1650#if 201103L <= YY_CPLUSPLUS
1653 make_DHCP4_SERVER (location_type l)
1655 return symbol_type (token::TOKEN_DHCP4_SERVER, std::move (l));
1662 return symbol_type (token::TOKEN_DHCP4_SERVER, l);
1665#if 201103L <= YY_CPLUSPLUS
1668 make_DHCP6_SERVER (location_type l)
1670 return symbol_type (token::TOKEN_DHCP6_SERVER, std::move (l));
1677 return symbol_type (token::TOKEN_DHCP6_SERVER, l);
1680#if 201103L <= YY_CPLUSPLUS
1683 make_D2_SERVER (location_type l)
1685 return symbol_type (token::TOKEN_D2_SERVER, std::move (l));
1695#if 201103L <= YY_CPLUSPLUS
1698 make_SOCKET_NAME (location_type l)
1700 return symbol_type (token::TOKEN_SOCKET_NAME, std::move (l));
1710#if 201103L <= YY_CPLUSPLUS
1713 make_SOCKET_TYPE (location_type l)
1715 return symbol_type (token::TOKEN_SOCKET_TYPE, std::move (l));
1725#if 201103L <= YY_CPLUSPLUS
1728 make_UNIX (location_type l)
1730 return symbol_type (token::TOKEN_UNIX, std::move (l));
1740#if 201103L <= YY_CPLUSPLUS
1743 make_HOOKS_LIBRARIES (location_type l)
1745 return symbol_type (token::TOKEN_HOOKS_LIBRARIES, std::move (l));
1752 return symbol_type (token::TOKEN_HOOKS_LIBRARIES, l);
1755#if 201103L <= YY_CPLUSPLUS
1758 make_LIBRARY (location_type l)
1760 return symbol_type (token::TOKEN_LIBRARY, std::move (l));
1770#if 201103L <= YY_CPLUSPLUS
1773 make_PARAMETERS (location_type l)
1775 return symbol_type (token::TOKEN_PARAMETERS, std::move (l));
1785#if 201103L <= YY_CPLUSPLUS
1788 make_LOGGERS (location_type l)
1790 return symbol_type (token::TOKEN_LOGGERS, std::move (l));
1800#if 201103L <= YY_CPLUSPLUS
1803 make_OUTPUT_OPTIONS (location_type l)
1805 return symbol_type (token::TOKEN_OUTPUT_OPTIONS, std::move (l));
1812 return symbol_type (token::TOKEN_OUTPUT_OPTIONS, l);
1815#if 201103L <= YY_CPLUSPLUS
1818 make_OUTPUT (location_type l)
1820 return symbol_type (token::TOKEN_OUTPUT, std::move (l));
1830#if 201103L <= YY_CPLUSPLUS
1833 make_DEBUGLEVEL (location_type l)
1835 return symbol_type (token::TOKEN_DEBUGLEVEL, std::move (l));
1845#if 201103L <= YY_CPLUSPLUS
1848 make_SEVERITY (location_type l)
1850 return symbol_type (token::TOKEN_SEVERITY, std::move (l));
1860#if 201103L <= YY_CPLUSPLUS
1863 make_FLUSH (location_type l)
1865 return symbol_type (token::TOKEN_FLUSH, std::move (l));
1875#if 201103L <= YY_CPLUSPLUS
1878 make_MAXSIZE (location_type l)
1880 return symbol_type (token::TOKEN_MAXSIZE, std::move (l));
1890#if 201103L <= YY_CPLUSPLUS
1893 make_MAXVER (location_type l)
1895 return symbol_type (token::TOKEN_MAXVER, std::move (l));
1905#if 201103L <= YY_CPLUSPLUS
1908 make_PATTERN (location_type l)
1910 return symbol_type (token::TOKEN_PATTERN, std::move (l));
1920#if 201103L <= YY_CPLUSPLUS
1923 make_START_JSON (location_type l)
1925 return symbol_type (token::TOKEN_START_JSON, std::move (l));
1935#if 201103L <= YY_CPLUSPLUS
1938 make_START_AGENT (location_type l)
1940 return symbol_type (token::TOKEN_START_AGENT, std::move (l));
1950#if 201103L <= YY_CPLUSPLUS
1953 make_START_SUB_AGENT (location_type l)
1955 return symbol_type (token::TOKEN_START_SUB_AGENT, std::move (l));
1962 return symbol_type (token::TOKEN_START_SUB_AGENT, l);
1965#if 201103L <= YY_CPLUSPLUS
1968 make_STRING (std::string v, location_type l)
1970 return symbol_type (token::TOKEN_STRING, std::move (v), std::move (l));
1980#if 201103L <= YY_CPLUSPLUS
1983 make_INTEGER (int64_t v, location_type l)
1985 return symbol_type (token::TOKEN_INTEGER, std::move (v), std::move (l));
1995#if 201103L <= YY_CPLUSPLUS
1998 make_FLOAT (
double v, location_type l)
2000 return symbol_type (token::TOKEN_FLOAT, std::move (v), std::move (l));
2010#if 201103L <= YY_CPLUSPLUS
2013 make_BOOLEAN (
bool v, location_type l)
2015 return symbol_type (token::TOKEN_BOOLEAN, std::move (v), std::move (l));
2046#if YY_CPLUSPLUS < 201103L
2055 typedef short state_type;
2058 int yy_syntax_error_arguments_ (
const context& yyctx,
2059 symbol_kind_type yyarg[],
int yyargn)
const;
2063 virtual std::string yysyntax_error_ (
const context& yyctx)
const;
2067 static state_type yy_lr_goto_state_ (state_type yystate,
int yysym);
2071 static bool yy_pact_value_is_default_ (
int yyvalue)
YY_NOEXCEPT;
2075 static bool yy_table_value_is_error_ (
int yyvalue)
YY_NOEXCEPT;
2077 static const short yypact_ninf_;
2078 static const signed char yytable_ninf_;
2083 static symbol_kind_type yytranslate_ (
int t)
YY_NOEXCEPT;
2086 static std::string yytnamerr_ (
const char *yystr);
2089 static const char*
const yytname_[];
2095 static const short yypact_[];
2100 static const unsigned char yydefact_[];
2103 static const short yypgoto_[];
2106 static const short yydefgoto_[];
2111 static const short yytable_[];
2113 static const short yycheck_[];
2117 static const unsigned char yystos_[];
2120 static const unsigned char yyr1_[];
2123 static const signed char yyr2_[];
2128 static const short yyrline_[];
2130 virtual void yy_reduce_print_ (
int r)
const;
2132 virtual void yy_stack_print_ ()
const;
2137 std::ostream* yycdebug_;
2142 template <
typename Base>
2143 void yy_print_ (std::ostream& yyo,
const basic_symbol<Base>& yysym)
const;
2150 template <
typename Base>
2151 void yy_destroy_ (
const char* yymsg, basic_symbol<Base>& yysym)
const;
2161 typedef state_type kind_type;
2173 void move (by_state& that);
2181 enum { empty_state = 0 };
2189 struct stack_symbol_type : basic_symbol<by_state>
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);
2206 stack_symbol_type& operator= (
const stack_symbol_type& that);
2211 template <
typename T,
typename S = std::vector<T> >
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;
2225#if 201103L <= YY_CPLUSPLUS
2227 stack (
const stack&) =
delete;
2229 stack& operator= (
const stack&) =
delete;
2236 operator[] (index_type i)
const
2238 return seq_[size_type (size () - 1 - i)];
2245 operator[] (index_type i)
2247 return seq_[size_type (size () - 1 - i)];
2256 seq_.push_back (T ());
2257 operator[] (0).move (t);
2279 return index_type (seq_.size ());
2286 return seq_.begin ();
2306 operator[] (index_type i)
const
2308 return stack_[range_ - i];
2312 const stack& stack_;
2317#if YY_CPLUSPLUS < 201103L
2319 stack (
const stack&);
2321 stack& operator= (
const stack&);
2329 typedef stack<stack_symbol_type> stack_type;
2332 stack_type yystack_;
2339 void yypush_ (
const char* m,
YY_MOVE_REF (stack_symbol_type) sym);
2347 void yypush_ (
const char* m, state_type s,
YY_MOVE_REF (symbol_type) sym);
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,
2410 const int code_max = 312;
2414 else if (t <= code_max)
2421 template <
typename Base>
2427 switch (this->kind ())
2461 template <
typename Base>
2465 return this->kind ();
2469 template <
typename Base>
2476 template <
typename Base>
2480 super_type::move (s);
2481 switch (this->kind ())