Kea 2.7.6
|
A Bison parser. More...
#include <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). | |
typedef location | location_type |
Symbol locations. | |
typedef value_type | semantic_type |
Backward compatibility (Bison 3.8). | |
typedef symbol_kind::symbol_kind_type | symbol_kind_type |
(Internal) symbol kind. | |
typedef token::token_kind_type | token_kind_type |
Token kind, as returned by yylex. | |
typedef token_kind_type | token_type |
Backward compatibility alias (Bison 3.6). | |
Public Member Functions | |
EvalParser (EvalContext &ctx_yyarg) | |
Build a parser object. | |
virtual | ~EvalParser () |
virtual void | error (const location_type &loc, const std::string &msg) |
Report a syntax error. | |
void | error (const syntax_error &err) |
Report a syntax error. | |
int | operator() () |
Parse. | |
virtual int | parse () |
Parse. | |
Static Public Attributes | |
static const symbol_kind_type | YYNTOKENS = symbol_kind::YYNTOKENS |
The number of tokens. | |
location isc::eval::EvalParser::location_type |
isc::eval::EvalParser::EvalParser | ( | EvalContext & | ctx_yyarg | ) |
|
virtual |
void isc::eval::EvalParser::error | ( | const syntax_error & | err | ) |
Report a syntax error.
Definition at line 1879 of file parser.cc.
References isc::db::error, and isc::eval::EvalParser::syntax_error::location.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
int isc::eval::EvalParser::operator() | ( | ) |
|
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 644 of file parser.cc.
References isc::eval::EvalParser::value_type::as(), isc::dhcp::TokenPkt4::CHADDR, isc::dhcp::TokenPkt4::CIADDR, isc::eval::EvalParser::basic_symbol< Base >::clear(), isc::eval::EvalContext::convertNestLevelNumber(), isc::eval::EvalContext::convertOptionCode(), isc::eval::EvalContext::convertOptionName(), isc::eval::EvalContext::convertUint32(), isc::eval::EvalContext::convertUint8(), isc::dhcp::TokenVendor::DATA, isc::dhcp::TokenPkt::DST, isc::eval::EvalParser::value_type::emplace(), isc::eval::EvalParser::basic_symbol< Base >::empty(), isc::dhcp::TokenVendor::ENTERPRISE_ID, isc::db::error, isc::dhcp::TokenOption::EXISTS, isc::eval::EvalContext::expression_, isc::eval::EvalContext::getUniverse(), isc::dhcp::TokenPkt4::GIADDR, isc::dhcp::TokenOption::HEXADECIMAL, isc::dhcp::TokenPkt4::HLEN, isc::dhcp::TokenPkt4::HTYPE, isc::dhcp::TokenPkt::IFACE, isc::eval::EvalContext::isClientClassDefined(), isc::eval::EvalParser::by_kind::kind(), isc::eval::EvalParser::by_kind::kind_, isc::eval::EvalContext::label_, isc::eval::EvalContext::labels_, isc::dhcp::TokenPkt::LEN, isc::dhcp::TokenRelay6Field::LINKADDR, isc::eval::EvalParser::basic_symbol< Base >::location, isc::eval::EvalParser::basic_symbol< Base >::move(), isc::dhcp::TokenPkt4::MSGTYPE, isc::dhcp::TokenPkt6::MSGTYPE, isc::dhcp::TokenRelay6Field::PEERADDR, isc::eval::EvalParser::symbol_kind::S_enterprise_id, isc::eval::EvalParser::symbol_kind::S_HEXSTRING, isc::eval::EvalParser::symbol_kind::S_INTEGER, isc::eval::EvalParser::symbol_kind::S_integer_expr, isc::eval::EvalParser::symbol_kind::S_IP_ADDRESS, isc::eval::EvalParser::symbol_kind::S_nest_level, isc::eval::EvalParser::symbol_kind::S_option_code, isc::eval::EvalParser::symbol_kind::S_OPTION_NAME, isc::eval::EvalParser::symbol_kind::S_option_repr_type, isc::eval::EvalParser::symbol_kind::S_pkt4_field, isc::eval::EvalParser::symbol_kind::S_pkt6_field, isc::eval::EvalParser::symbol_kind::S_pkt_metadata, isc::eval::EvalParser::symbol_kind::S_relay6_field, isc::eval::EvalParser::symbol_kind::S_STRING, isc::eval::EvalParser::symbol_kind::S_sub_option_code, isc::eval::EvalParser::symbol_kind::S_YYEOF, isc::eval::EvalParser::symbol_kind::S_YYerror, isc::eval::EvalParser::symbol_kind::S_YYUNDEF, isc::dhcp::TokenPkt4::SIADDR, isc::dhcp::TokenPkt::SRC, isc::dhcp::TokenOption::TEXTUAL, isc::dhcp::TokenPkt4::TRANSID, isc::dhcp::TokenPkt6::TRANSID, isc::dhcp::Option::V4, isc::dhcp::Option::V6, isc::eval::EvalParser::basic_symbol< Base >::value, isc::dhcp::TokenPkt4::YIADDR, YY_MOVE, YY_REDUCE_PRINT, YY_STACK_PRINT, YY_SYMBOL_PRINT, YYABORT, YYACCEPT, YYCDEBUG, YYERROR, yylex, and YYLLOC_DEFAULT.
Referenced by operator()(), and isc::eval::EvalContext::parseString().
|
static |
The user-facing name of the symbol whose (internal) number is YYSYMBOL.
No bounds checking.
Definition at line 1925 of file parser.cc.
Referenced by isc::eval::EvalParser::basic_symbol< Base >::name().
|
static |
The number of tokens.
Definition at line 695 of file parser.h.
Referenced by isc::eval::EvalParser::context::expected_tokens().