![]() |
Kea 2.5.5
|
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 1058 of file d2_parser.h.
typedef int isc::d2::D2Parser::debug_level_type |
Type for debugging levels.
Definition at line 1159 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 789 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 152 of file d2_parser.cc.
|
virtual |
Definition at line 162 of file d2_parser.cc.
D2Parser::debug_level_type isc::d2::D2Parser::debug_level | ( | ) | const |
The current debugging level.
Definition at line 475 of file d2_parser.cc.
std::ostream & isc::d2::D2Parser::debug_stream | ( | ) | const |
The current debugging stream.
Definition at line 462 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 2859 of file d2_parser.cc.
void isc::d2::D2Parser::error | ( | const syntax_error & | err | ) |
Report a syntax error.
Definition at line 2237 of file d2_parser.cc.
References error(), and isc::d2::D2Parser::syntax_error::location.
|
inlinestatic |
Definition at line 1609 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_ALGORITHM.
|
inlinestatic |
Definition at line 2089 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_BOOLEAN.
|
inlinestatic |
Definition at line 1249 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_COLON.
|
inlinestatic |
Definition at line 1234 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_COMMA.
|
inlinestatic |
Definition at line 1489 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_COMMENT.
|
inlinestatic |
Definition at line 1654 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_CONTROL_SOCKET.
|
inlinestatic |
Definition at line 1204 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_D2_PARSER_error.
|
inlinestatic |
Definition at line 1219 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_D2_PARSER_UNDEF.
|
inlinestatic |
Definition at line 1534 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_DDNS_DOMAINS.
|
inlinestatic |
Definition at line 1804 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_DEBUGLEVEL.
|
inlinestatic |
Definition at line 1339 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_DHCPDDNS.
|
inlinestatic |
Definition at line 1624 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_DIGEST_BITS.
|
inlinestatic |
Definition at line 1384 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_DNS_SERVER_TIMEOUT.
|
inlinestatic |
Definition at line 1564 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_DNS_SERVERS.
|
inlinestatic |
Definition at line 1189 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_END.
|
inlinestatic |
Definition at line 2074 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_FLOAT.
|
inlinestatic |
Definition at line 1834 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_FLUSH.
|
inlinestatic |
Definition at line 1504 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_FORWARD_DDNS.
|
inlinestatic |
Definition at line 1699 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_HOOKS_LIBRARIES.
|
inlinestatic |
Definition at line 1579 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_HOSTNAME.
|
inlinestatic |
Definition at line 2059 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_INTEGER.
|
inlinestatic |
Definition at line 1354 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_IP_ADDRESS.
|
inlinestatic |
Definition at line 1459 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_JSON.
|
inlinestatic |
Definition at line 1549 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_KEY_NAME.
|
inlinestatic |
Definition at line 1294 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_LCURLY_BRACKET.
|
inlinestatic |
Definition at line 1714 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_LIBRARY.
|
inlinestatic |
Definition at line 1744 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_LOGGERS.
|
inlinestatic |
Definition at line 1264 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_LSQUARE_BRACKET.
|
inlinestatic |
Definition at line 1849 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_MAXSIZE.
|
inlinestatic |
Definition at line 1864 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_MAXVER.
|
inlinestatic |
Definition at line 1759 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_NAME.
|
inlinestatic |
Definition at line 1444 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_NCR_FORMAT.
|
inlinestatic |
Definition at line 1399 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_NCR_PROTOCOL.
|
inlinestatic |
Definition at line 1324 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_NULL_TYPE.
|
inlinestatic |
Definition at line 1789 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_OUTPUT.
|
inlinestatic |
Definition at line 1774 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_OUTPUT_OPTIONS.
|
inlinestatic |
Definition at line 1729 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_PARAMETERS.
|
inlinestatic |
Definition at line 1879 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_PATTERN.
|
inlinestatic |
Definition at line 1369 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_PORT.
|
inlinestatic |
Definition at line 1309 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_RCURLY_BRACKET.
|
inlinestatic |
Definition at line 1519 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_REVERSE_DDNS.
|
inlinestatic |
Definition at line 1279 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_RSQUARE_BRACKET.
|
inlinestatic |
Definition at line 1639 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_SECRET.
|
inlinestatic |
Definition at line 1819 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_SEVERITY.
|
inlinestatic |
Definition at line 1684 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_SOCKET_NAME.
|
inlinestatic |
Definition at line 1669 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_SOCKET_TYPE.
|
inlinestatic |
Definition at line 2044 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_STRING.
|
inlinestatic |
Definition at line 1969 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_SUB_DDNS_DOMAIN.
Referenced by if().
|
inlinestatic |
Definition at line 1984 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_SUB_DDNS_DOMAINS.
Referenced by if().
|
inlinestatic |
Definition at line 1924 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_SUB_DHCPDDNS.
Referenced by if().
|
inlinestatic |
Definition at line 1999 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_SUB_DNS_SERVER.
Referenced by if().
|
inlinestatic |
Definition at line 2014 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_SUB_DNS_SERVERS.
|
inlinestatic |
Definition at line 2029 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_SUB_HOOKS_LIBRARY.
Referenced by if().
|
inlinestatic |
Definition at line 1939 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_SUB_TSIG_KEY.
Referenced by if().
|
inlinestatic |
Definition at line 1954 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_SUB_TSIG_KEYS.
Referenced by if().
|
inlinestatic |
Definition at line 1429 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_TCP.
|
inlinestatic |
Definition at line 1909 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_TOPLEVEL_DHCPDDNS.
Referenced by if().
|
inlinestatic |
Definition at line 1894 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_TOPLEVEL_JSON.
Referenced by if().
|
inlinestatic |
Definition at line 1594 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_TSIG_KEYS.
|
inlinestatic |
Definition at line 1414 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_UDP.
|
inlinestatic |
Definition at line 1474 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 510 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 516 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(), isc::d2::D2ParserContext::warnAboutExtraCommas(), 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 481 of file d2_parser.cc.
void isc::d2::D2Parser::set_debug_stream | ( | std::ostream & | o | ) |
Set the current debugging stream.
Definition at line 468 of file d2_parser.cc.
|
static |
The user-facing name of the symbol whose (internal) number is YYSYMBOL.
No bounds checking.
Definition at line 2283 of file d2_parser.cc.
Referenced by isc::d2::D2Parser::basic_symbol< Base >::name().
|
static |
The number of tokens.
Definition at line 792 of file d2_parser.h.
Referenced by isc::d2::D2Parser::context::expected_tokens().