![]() |
Kea 2.0.1
|
A Bison parser. More...
#include <d2_parser.h>
Classes | |
struct | basic_symbol |
A complete symbol. More... | |
struct | by_kind |
Type access provider for token (enum) based symbols. More... | |
class | context |
struct | symbol_kind |
Symbol kinds. More... | |
struct | symbol_type |
"External" symbols: returned by the scanner. More... | |
struct | syntax_error |
Syntax errors thrown from user actions. More... | |
struct | token |
Token kinds. More... | |
class | value_type |
A buffer to store and retrieve objects. More... | |
Public Types | |
typedef by_kind | by_type |
Backward compatibility for a private implementation detail (Bison 3.6). More... | |
typedef int | debug_level_type |
Type for debugging levels. More... | |
typedef location | location_type |
Symbol locations. More... | |
typedef value_type | semantic_type |
Backward compatibility (Bison 3.8). More... | |
typedef symbol_kind::symbol_kind_type | symbol_kind_type |
(Internal) symbol kind. More... | |
typedef token::token_kind_type | token_kind_type |
Token kind, as returned by yylex. More... | |
typedef token_kind_type | token_type |
Backward compatibility alias (Bison 3.6). More... | |
Public Member Functions | |
D2Parser (isc::d2::D2ParserContext &ctx_yyarg) | |
Build a parser object. More... | |
virtual | ~D2Parser () |
debug_level_type | debug_level () const YY_ATTRIBUTE_PURE |
The current debugging level. More... | |
std::ostream & | debug_stream () const YY_ATTRIBUTE_PURE |
The current debugging stream. More... | |
virtual void | error (const location_type &loc, const std::string &msg) |
Report a syntax error. More... | |
void | error (const syntax_error &err) |
Report a syntax error. More... | |
int | operator() () |
Parse. More... | |
virtual int | parse () |
Parse. More... | |
void | set_debug_level (debug_level_type l) |
Set the current debugging level. More... | |
void | set_debug_stream (std::ostream &) |
Set the current debugging stream. More... | |
Static Public Attributes | |
static const symbol_kind_type | YYNTOKENS = symbol_kind::YYNTOKENS |
The number of tokens. More... | |
A Bison parser.
Definition at line 215 of file d2_parser.h.
typedef by_kind isc::d2::D2Parser::by_type |
Backward compatibility for a private implementation detail (Bison 3.6).
Definition at line 1057 of file d2_parser.h.
typedef int isc::d2::D2Parser::debug_level_type |
Type for debugging levels.
Definition at line 1158 of file d2_parser.h.
typedef location isc::d2::D2Parser::location_type |
Symbol locations.
Definition at line 467 of file d2_parser.h.
Backward compatibility (Bison 3.8).
Definition at line 464 of file d2_parser.h.
(Internal) symbol kind.
Definition at line 788 of file d2_parser.h.
Token kind, as returned by yylex.
Definition at line 560 of file d2_parser.h.
Backward compatibility alias (Bison 3.6).
Definition at line 563 of file d2_parser.h.
isc::d2::D2Parser::D2Parser | ( | isc::d2::D2ParserContext & | ctx_yyarg | ) |
Build a parser object.
Definition at line 147 of file d2_parser.cc.
|
virtual |
Definition at line 157 of file d2_parser.cc.
D2Parser::debug_level_type isc::d2::D2Parser::debug_level | ( | ) | const |
The current debugging level.
Definition at line 470 of file d2_parser.cc.
std::ostream & isc::d2::D2Parser::debug_stream | ( | ) | const |
The current debugging stream.
Definition at line 457 of file d2_parser.cc.
|
virtual |
Report a syntax error.
loc | where the syntax error is found. |
msg | a description of the syntax error. |
Definition at line 2703 of file d2_parser.cc.
void isc::d2::D2Parser::error | ( | const syntax_error & | err | ) |
Report a syntax error.
Definition at line 2088 of file d2_parser.cc.
References error(), and isc::d2::D2Parser::syntax_error::location.
|
inlinestatic |
Definition at line 1608 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_ALGORITHM.
|
inlinestatic |
Definition at line 2088 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_BOOLEAN.
|
inlinestatic |
Definition at line 1248 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_COLON.
|
inlinestatic |
Definition at line 1233 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_COMMA.
|
inlinestatic |
Definition at line 1488 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_COMMENT.
|
inlinestatic |
Definition at line 1653 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_CONTROL_SOCKET.
|
inlinestatic |
Definition at line 1203 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_D2_PARSER_error.
|
inlinestatic |
Definition at line 1218 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_D2_PARSER_UNDEF.
|
inlinestatic |
Definition at line 1533 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_DDNS_DOMAINS.
|
inlinestatic |
Definition at line 1803 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_DEBUGLEVEL.
|
inlinestatic |
Definition at line 1338 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_DHCPDDNS.
|
inlinestatic |
Definition at line 1623 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_DIGEST_BITS.
|
inlinestatic |
Definition at line 1383 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_DNS_SERVER_TIMEOUT.
|
inlinestatic |
Definition at line 1563 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_DNS_SERVERS.
|
inlinestatic |
Definition at line 1188 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_END.
|
inlinestatic |
Definition at line 2073 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_FLOAT.
|
inlinestatic |
Definition at line 1833 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_FLUSH.
|
inlinestatic |
Definition at line 1503 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_FORWARD_DDNS.
|
inlinestatic |
Definition at line 1698 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_HOOKS_LIBRARIES.
|
inlinestatic |
Definition at line 1578 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_HOSTNAME.
|
inlinestatic |
Definition at line 2058 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_INTEGER.
|
inlinestatic |
Definition at line 1353 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_IP_ADDRESS.
|
inlinestatic |
Definition at line 1458 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_JSON.
|
inlinestatic |
Definition at line 1548 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_KEY_NAME.
|
inlinestatic |
Definition at line 1293 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_LCURLY_BRACKET.
|
inlinestatic |
Definition at line 1713 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_LIBRARY.
|
inlinestatic |
Definition at line 1743 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_LOGGERS.
|
inlinestatic |
Definition at line 1263 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_LSQUARE_BRACKET.
|
inlinestatic |
Definition at line 1848 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_MAXSIZE.
|
inlinestatic |
Definition at line 1863 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_MAXVER.
|
inlinestatic |
Definition at line 1758 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_NAME.
|
inlinestatic |
Definition at line 1443 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_NCR_FORMAT.
|
inlinestatic |
Definition at line 1398 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_NCR_PROTOCOL.
|
inlinestatic |
Definition at line 1323 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_NULL_TYPE.
|
inlinestatic |
Definition at line 1788 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_OUTPUT.
|
inlinestatic |
Definition at line 1773 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_OUTPUT_OPTIONS.
|
inlinestatic |
Definition at line 1728 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_PARAMETERS.
|
inlinestatic |
Definition at line 1878 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_PATTERN.
|
inlinestatic |
Definition at line 1368 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_PORT.
|
inlinestatic |
Definition at line 1308 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_RCURLY_BRACKET.
|
inlinestatic |
Definition at line 1518 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_REVERSE_DDNS.
|
inlinestatic |
Definition at line 1278 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_RSQUARE_BRACKET.
|
inlinestatic |
Definition at line 1638 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_SECRET.
|
inlinestatic |
Definition at line 1818 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_SEVERITY.
|
inlinestatic |
Definition at line 1683 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_SOCKET_NAME.
|
inlinestatic |
Definition at line 1668 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_SOCKET_TYPE.
|
inlinestatic |
Definition at line 2043 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_STRING.
|
inlinestatic |
Definition at line 1968 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_SUB_DDNS_DOMAIN.
Referenced by if().
|
inlinestatic |
Definition at line 1983 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_SUB_DDNS_DOMAINS.
Referenced by if().
|
inlinestatic |
Definition at line 1923 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_SUB_DHCPDDNS.
Referenced by if().
|
inlinestatic |
Definition at line 1998 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_SUB_DNS_SERVER.
Referenced by if().
|
inlinestatic |
Definition at line 2013 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_SUB_DNS_SERVERS.
|
inlinestatic |
Definition at line 2028 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_SUB_HOOKS_LIBRARY.
Referenced by if().
|
inlinestatic |
Definition at line 1938 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_SUB_TSIG_KEY.
Referenced by if().
|
inlinestatic |
Definition at line 1953 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_SUB_TSIG_KEYS.
Referenced by if().
|
inlinestatic |
Definition at line 1428 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_TCP.
|
inlinestatic |
Definition at line 1908 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_TOPLEVEL_DHCPDDNS.
Referenced by if().
|
inlinestatic |
Definition at line 1893 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_TOPLEVEL_JSON.
Referenced by if().
|
inlinestatic |
Definition at line 1593 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_TSIG_KEYS.
|
inlinestatic |
Definition at line 1413 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_UDP.
|
inlinestatic |
Definition at line 1473 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_USER_CONTEXT.
int isc::d2::D2Parser::operator() | ( | ) |
Parse.
An alias for parse ().
Definition at line 505 of file d2_parser.cc.
References parse().
|
virtual |
Parse.
Length of the RHS of the rule being reduced.
The lookahead symbol.
The locations where the error started and ended.
The return value of parse ().
Definition at line 511 of file d2_parser.cc.
References isc::d2::D2Parser::basic_symbol< Base >::clear(), isc::d2::D2ParserContext::CONFIG, isc::d2::D2ParserContext::contextName(), isc::d2::D2ParserContext::CONTROL_SOCKET, isc::d2::D2ParserContext::ctx_, isc::d2::D2ParserContext::DDNS_DOMAIN, isc::d2::D2ParserContext::DDNS_DOMAINS, isc::d2::D2ParserContext::DHCPDDNS, isc::d2::D2ParserContext::DNS_SERVERS, isc::d2::D2Parser::basic_symbol< Base >::empty(), isc::d2::D2ParserContext::enter(), error(), isc::d2::D2ParserContext::FORWARD_DDNS, isc::d2::D2ParserContext::HOOKS_LIBRARIES, isc::d2::D2ParserContext::leave(), isc::d2::D2ParserContext::loc2pos(), isc::d2::D2Parser::basic_symbol< Base >::location, isc::d2::D2ParserContext::LOGGERS, isc::data::merge(), isc::d2::D2Parser::basic_symbol< Base >::move(), isc::d2::D2ParserContext::NCR_FORMAT, isc::d2::D2ParserContext::NCR_PROTOCOL, isc::d2::D2ParserContext::NO_KEYWORD, isc::d2::D2ParserContext::OUTPUT_OPTIONS, isc::d2::D2ParserContext::require(), isc::d2::D2ParserContext::REVERSE_DDNS, isc::d2::D2Parser::symbol_kind::S_BOOLEAN, isc::d2::D2Parser::symbol_kind::S_FLOAT, isc::d2::D2Parser::symbol_kind::S_INTEGER, isc::d2::D2Parser::symbol_kind::S_map_value, isc::d2::D2Parser::symbol_kind::S_ncr_protocol_value, isc::d2::D2Parser::symbol_kind::S_STRING, isc::d2::D2Parser::symbol_kind::S_value, isc::d2::D2Parser::symbol_kind::S_YYEOF, isc::d2::D2Parser::symbol_kind::S_YYerror, isc::d2::D2Parser::symbol_kind::S_YYUNDEF, isc::d2::D2ParserContext::stack_, isc::d2::D2ParserContext::TSIG_KEY, isc::d2::D2ParserContext::TSIG_KEYS, isc::d2::D2ParserContext::unique(), YY_MOVE, YY_REDUCE_PRINT, YY_STACK_PRINT, YY_SYMBOL_PRINT, YYABORT, YYACCEPT, YYCDEBUG, YYERROR, yylex, and YYLLOC_DEFAULT.
Referenced by operator()().
void isc::d2::D2Parser::set_debug_level | ( | debug_level_type | l | ) |
Set the current debugging level.
Definition at line 476 of file d2_parser.cc.
void isc::d2::D2Parser::set_debug_stream | ( | std::ostream & | o | ) |
Set the current debugging stream.
Definition at line 463 of file d2_parser.cc.
|
static |
The user-facing name of the symbol whose (internal) number is YYSYMBOL.
No bounds checking.
Definition at line 2134 of file d2_parser.cc.
Referenced by isc::d2::D2Parser::basic_symbol< Base >::name().
|
static |
The number of tokens.
Definition at line 791 of file d2_parser.h.
Referenced by isc::d2::D2Parser::context::expected_tokens().