![]() |
Kea
1.5.0
|
A Bison parser. More...
#include <d2_parser.h>
Classes | |
| struct | basic_symbol |
| A complete symbol. More... | |
| struct | by_type |
| Type access provider for token (enum) based symbols. More... | |
| struct | syntax_error |
| Syntax errors thrown from user actions. More... | |
| struct | token |
| Tokens. More... | |
| union | union_type |
| An auxiliary type to compute the largest semantic type. More... | |
Public Types | |
| enum | { empty_symbol = -2 } |
| The symbol type number to denote an empty symbol. More... | |
| typedef int | debug_level_type |
| Type for debugging levels. More... | |
| typedef location | location_type |
| Symbol locations. More... | |
| typedef variant< sizeof(union_type)> | semantic_type |
| Symbol semantic values. More... | |
| typedef int | symbol_number_type |
| Symbol type: an internal symbol number. More... | |
| typedef basic_symbol< by_type > | symbol_type |
| "External" symbols: returned by the scanner. More... | |
| typedef unsigned char | token_number_type |
| Internal symbol number for tokens (subsumed by symbol_number_type). More... | |
| typedef token::yytokentype | token_type |
| (External) token type, as returned by yylex. 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... | |
A Bison parser.
Definition at line 495 of file d2_parser.h.
| typedef int isc::d2::D2Parser::debug_level_type |
Type for debugging levels.
Definition at line 743 of file d2_parser.h.
| typedef location isc::d2::D2Parser::location_type |
Symbol locations.
Definition at line 526 of file d2_parser.h.
| typedef variant<sizeof (union_type)> isc::d2::D2Parser::semantic_type |
Symbol semantic values.
Definition at line 521 of file d2_parser.h.
| typedef int isc::d2::D2Parser::symbol_number_type |
Symbol type: an internal symbol number.
Definition at line 602 of file d2_parser.h.
"External" symbols: returned by the scanner.
Definition at line 722 of file d2_parser.h.
| typedef unsigned char isc::d2::D2Parser::token_number_type |
Internal symbol number for tokens (subsumed by symbol_number_type).
Definition at line 608 of file d2_parser.h.
(External) token type, as returned by yylex.
Definition at line 599 of file d2_parser.h.
| anonymous enum |
The symbol type number to denote an empty symbol.
| Enumerator | |
|---|---|
| empty_symbol | |
Definition at line 605 of file d2_parser.h.
| isc::d2::D2Parser::D2Parser | ( | isc::d2::D2ParserContext & | ctx_yyarg | ) |
Build a parser object.
Definition at line 186 of file d2_parser.cc.
|
virtual |
Definition at line 195 of file d2_parser.cc.
| D2Parser::debug_level_type isc::d2::D2Parser::debug_level | ( | ) | const |
The current debugging level.
Definition at line 478 of file d2_parser.cc.
| std::ostream & isc::d2::D2Parser::debug_stream | ( | ) | const |
The current debugging stream.
Definition at line 465 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 2423 of file d2_parser.cc.
References isc::d2::D2ParserContext::error().
Referenced by error(), and parse().
Here is the call graph for this function:| void isc::d2::D2Parser::error | ( | const syntax_error & | err | ) |
Report a syntax error.
Definition at line 1916 of file d2_parser.cc.
References error(), and isc::d2::D2Parser::syntax_error::location.
Here is the call graph for this function:
|
inlinestatic |
Definition at line 1727 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_ALGORITHM, and YY_MOVE.
|
inlinestatic |
Definition at line 1902 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_BOOLEAN, and YY_MOVE.
|
inlinestatic |
Definition at line 1538 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_COLON, and YY_MOVE.
|
inlinestatic |
Definition at line 1531 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_COMMA, and YY_MOVE.
|
inlinestatic |
Definition at line 1671 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_COMMENT, and YY_MOVE.
|
inlinestatic |
Definition at line 1594 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_CONTROL_AGENT, and YY_MOVE.
|
inlinestatic |
Definition at line 1692 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_DDNS_DOMAINS, and YY_MOVE.
|
inlinestatic |
Definition at line 1783 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_DEBUGLEVEL, and YY_MOVE.
|
inlinestatic |
Definition at line 1587 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_DHCP4, and YY_MOVE.
|
inlinestatic |
Definition at line 1580 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_DHCP6, and YY_MOVE.
|
inlinestatic |
Definition at line 1601 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_DHCPDDNS, and YY_MOVE.
|
inlinestatic |
Definition at line 1734 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_DIGEST_BITS, and YY_MOVE.
|
inlinestatic |
Definition at line 1622 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_DNS_SERVER_TIMEOUT, and YY_MOVE.
|
inlinestatic |
Definition at line 1706 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_DNS_SERVERS, and YY_MOVE.
|
inlinestatic |
Definition at line 1524 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_END, and YY_MOVE.
|
inlinestatic |
Definition at line 1895 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_FLOAT, and YY_MOVE.
|
inlinestatic |
Definition at line 1797 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_FLUSH, and YY_MOVE.
|
inlinestatic |
Definition at line 1678 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_FORWARD_DDNS, and YY_MOVE.
|
inlinestatic |
Definition at line 1713 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_HOSTNAME, and YY_MOVE.
|
inlinestatic |
Definition at line 1888 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_INTEGER, and YY_MOVE.
|
inlinestatic |
Definition at line 1608 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_IP_ADDRESS, and YY_MOVE.
|
inlinestatic |
Definition at line 1657 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_JSON, and YY_MOVE.
|
inlinestatic |
Definition at line 1699 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_KEY_NAME, and YY_MOVE.
|
inlinestatic |
Definition at line 1559 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_LCURLY_BRACKET, and YY_MOVE.
|
inlinestatic |
Definition at line 1755 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_LOGGERS, and YY_MOVE.
|
inlinestatic |
Definition at line 1748 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_LOGGING, and YY_MOVE.
|
inlinestatic |
Definition at line 1545 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_LSQUARE_BRACKET, and YY_MOVE.
|
inlinestatic |
Definition at line 1804 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_MAXSIZE, and YY_MOVE.
|
inlinestatic |
Definition at line 1811 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_MAXVER, and YY_MOVE.
|
inlinestatic |
Definition at line 1762 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_NAME, and YY_MOVE.
|
inlinestatic |
Definition at line 1650 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_NCR_FORMAT, and YY_MOVE.
|
inlinestatic |
Definition at line 1629 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_NCR_PROTOCOL, and YY_MOVE.
|
inlinestatic |
Definition at line 1573 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_NULL_TYPE, and YY_MOVE.
|
inlinestatic |
Definition at line 1776 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_OUTPUT, and YY_MOVE.
|
inlinestatic |
Definition at line 1769 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_OUTPUT_OPTIONS, and YY_MOVE.
|
inlinestatic |
Definition at line 1615 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_PORT, and YY_MOVE.
|
inlinestatic |
Definition at line 1566 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_RCURLY_BRACKET, and YY_MOVE.
|
inlinestatic |
Definition at line 1685 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_REVERSE_DDNS, and YY_MOVE.
|
inlinestatic |
Definition at line 1552 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_RSQUARE_BRACKET, and YY_MOVE.
|
inlinestatic |
Definition at line 1741 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_SECRET, and YY_MOVE.
|
inlinestatic |
Definition at line 1790 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_SEVERITY, and YY_MOVE.
|
inlinestatic |
Definition at line 1881 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_STRING, and YY_MOVE.
|
inlinestatic |
Definition at line 1853 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_SUB_DDNS_DOMAIN, and YY_MOVE.
Referenced by if().
|
inlinestatic |
Definition at line 1860 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_SUB_DDNS_DOMAINS, and YY_MOVE.
Referenced by if().
|
inlinestatic |
Definition at line 1832 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_SUB_DHCPDDNS, and YY_MOVE.
Referenced by if().
|
inlinestatic |
Definition at line 1867 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_SUB_DNS_SERVER, and YY_MOVE.
Referenced by if().
|
inlinestatic |
Definition at line 1874 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_SUB_DNS_SERVERS, and YY_MOVE.
|
inlinestatic |
Definition at line 1839 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_SUB_TSIG_KEY, and YY_MOVE.
Referenced by if().
|
inlinestatic |
Definition at line 1846 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_SUB_TSIG_KEYS, and YY_MOVE.
Referenced by if().
|
inlinestatic |
Definition at line 1643 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_TCP, and YY_MOVE.
|
inlinestatic |
Definition at line 1825 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_TOPLEVEL_DHCPDDNS, and YY_MOVE.
Referenced by if().
|
inlinestatic |
Definition at line 1818 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_TOPLEVEL_JSON, and YY_MOVE.
Referenced by if().
|
inlinestatic |
Definition at line 1720 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_TSIG_KEYS, and YY_MOVE.
|
inlinestatic |
Definition at line 1636 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_UDP, and YY_MOVE.
|
inlinestatic |
Definition at line 1664 of file d2_parser.h.
References isc::d2::D2Parser::token::TOKEN_USER_CONTEXT, and YY_MOVE.
| int isc::d2::D2Parser::operator() | ( | ) |
Parse.
An alias for parse ().
Definition at line 513 of file d2_parser.cc.
References parse().
Here is the call graph for this function:
|
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 519 of file d2_parser.cc.
References isc::d2::stack< T, S >::clear(), isc::d2::D2Parser::basic_symbol< Base >::clear(), isc::d2::D2ParserContext::CONFIG, isc::d2::D2ParserContext::contextName(), 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::leave(), isc::d2::D2ParserContext::loc2pos(), isc::d2::D2Parser::basic_symbol< Base >::location, isc::d2::D2ParserContext::LOGGERS, isc::d2::D2ParserContext::LOGGING, 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::REVERSE_DDNS, isc::d2::stack< T, S >::size(), isc::d2::D2ParserContext::stack_, isc::d2::D2ParserContext::TSIG_KEY, isc::d2::D2ParserContext::TSIG_KEYS, YY_MOVE, YY_REDUCE_PRINT, YY_STACK_PRINT, YY_SYMBOL_PRINT, YYABORT, YYCDEBUG, YYERROR, yylex, and YYLLOC_DEFAULT.
Referenced by operator()().
Here is the call graph for this function:| void isc::d2::D2Parser::set_debug_level | ( | debug_level_type | l | ) |
Set the current debugging level.
Definition at line 484 of file d2_parser.cc.
| void isc::d2::D2Parser::set_debug_stream | ( | std::ostream & | o | ) |
Set the current debugging stream.
Definition at line 471 of file d2_parser.cc.