Kea 2.6.2
isc::agent::AgentParser Class Reference

A Bison parser. More...

#include <agent_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

 AgentParser (isc::agent::ParserContext &ctx_yyarg)
 Build a parser object.
 
virtual ~AgentParser ()
 
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 Member Functions

static symbol_type make_AGENT_error (const location_type &l)
 
static symbol_type make_AGENT_UNDEF (const location_type &l)
 
static symbol_type make_AUTHENTICATION (const location_type &l)
 
static symbol_type make_BASIC (const location_type &l)
 
static symbol_type make_BOOLEAN (const bool &v, const location_type &l)
 
static symbol_type make_CERT_FILE (const location_type &l)
 
static symbol_type make_CERT_REQUIRED (const location_type &l)
 
static symbol_type make_CLIENTS (const location_type &l)
 
static symbol_type make_COLON (const location_type &l)
 
static symbol_type make_COMMA (const location_type &l)
 
static symbol_type make_COMMENT (const location_type &l)
 
static symbol_type make_CONTROL_AGENT (const location_type &l)
 
static symbol_type make_CONTROL_SOCKETS (const location_type &l)
 
static symbol_type make_D2_SERVER (const location_type &l)
 
static symbol_type make_DEBUGLEVEL (const location_type &l)
 
static symbol_type make_DHCP4_SERVER (const location_type &l)
 
static symbol_type make_DHCP6_SERVER (const location_type &l)
 
static symbol_type make_DIRECTORY (const location_type &l)
 
static symbol_type make_END (const location_type &l)
 
static symbol_type make_FLOAT (const double &v, const location_type &l)
 
static symbol_type make_FLUSH (const location_type &l)
 
static symbol_type make_HOOKS_LIBRARIES (const location_type &l)
 
static symbol_type make_HTTP_HOST (const location_type &l)
 
static symbol_type make_HTTP_PORT (const location_type &l)
 
static symbol_type make_INTEGER (const int64_t &v, const location_type &l)
 
static symbol_type make_KEY_FILE (const location_type &l)
 
static symbol_type make_LCURLY_BRACKET (const location_type &l)
 
static symbol_type make_LIBRARY (const location_type &l)
 
static symbol_type make_LOGGERS (const location_type &l)
 
static symbol_type make_LSQUARE_BRACKET (const location_type &l)
 
static symbol_type make_MAXSIZE (const location_type &l)
 
static symbol_type make_MAXVER (const location_type &l)
 
static symbol_type make_NAME (const location_type &l)
 
static symbol_type make_NULL_TYPE (const location_type &l)
 
static symbol_type make_OUTPUT (const location_type &l)
 
static symbol_type make_OUTPUT_OPTIONS (const location_type &l)
 
static symbol_type make_PARAMETERS (const location_type &l)
 
static symbol_type make_PASSWORD (const location_type &l)
 
static symbol_type make_PASSWORD_FILE (const location_type &l)
 
static symbol_type make_PATTERN (const location_type &l)
 
static symbol_type make_RCURLY_BRACKET (const location_type &l)
 
static symbol_type make_REALM (const location_type &l)
 
static symbol_type make_RSQUARE_BRACKET (const location_type &l)
 
static symbol_type make_SEVERITY (const location_type &l)
 
static symbol_type make_SOCKET_NAME (const location_type &l)
 
static symbol_type make_SOCKET_TYPE (const location_type &l)
 
static symbol_type make_START_AGENT (const location_type &l)
 
static symbol_type make_START_JSON (const location_type &l)
 
static symbol_type make_START_SUB_AGENT (const location_type &l)
 
static symbol_type make_STRING (const std::string &v, const location_type &l)
 
static symbol_type make_TRUST_ANCHOR (const location_type &l)
 
static symbol_type make_TYPE (const location_type &l)
 
static symbol_type make_UNIX (const location_type &l)
 
static symbol_type make_USER (const location_type &l)
 
static symbol_type make_USER_CONTEXT (const location_type &l)
 
static symbol_type make_USER_FILE (const location_type &l)
 
static std::string symbol_name (symbol_kind_type yysymbol)
 The user-facing name of the symbol whose (internal) number is YYSYMBOL.
 

Static Public Attributes

static const symbol_kind_type YYNTOKENS = symbol_kind::YYNTOKENS
 The number of tokens.
 

Detailed Description

A Bison parser.

Definition at line 214 of file agent_parser.h.

Member Typedef Documentation

◆ by_type

Backward compatibility for a private implementation detail (Bison 3.6).

Definition at line 1020 of file agent_parser.h.

◆ location_type

Symbol locations.

Definition at line 467 of file agent_parser.h.

◆ semantic_type

Backward compatibility (Bison 3.8).

Definition at line 464 of file agent_parser.h.

◆ symbol_kind_type

(Internal) symbol kind.

Definition at line 749 of file agent_parser.h.

◆ token_kind_type

Token kind, as returned by yylex.

Definition at line 555 of file agent_parser.h.

◆ token_type

Backward compatibility alias (Bison 3.6).

Definition at line 558 of file agent_parser.h.

Constructor & Destructor Documentation

◆ AgentParser()

isc::agent::AgentParser::AgentParser ( isc::agent::ParserContext & ctx_yyarg)

Build a parser object.

Definition at line 152 of file agent_parser.cc.

Referenced by isc::agent::AgentParser::context::context().

◆ ~AgentParser()

isc::agent::AgentParser::~AgentParser ( )
virtual

Definition at line 162 of file agent_parser.cc.

Member Function Documentation

◆ error() [1/2]

void isc::agent::AgentParser::error ( const location_type & loc,
const std::string & msg )
virtual

Report a syntax error.

Parameters
locwhere the syntax error is found.
msga description of the syntax error.

Definition at line 2553 of file agent_parser.cc.

Referenced by error(), and parse().

◆ error() [2/2]

void isc::agent::AgentParser::error ( const syntax_error & err)

Report a syntax error.

Definition at line 1994 of file agent_parser.cc.

References error(), and isc::agent::AgentParser::syntax_error::location.

+ Here is the call graph for this function:

◆ make_AGENT_error()

static symbol_type isc::agent::AgentParser::make_AGENT_error ( const location_type & l)
inlinestatic

◆ make_AGENT_UNDEF()

static symbol_type isc::agent::AgentParser::make_AGENT_UNDEF ( const location_type & l)
inlinestatic

◆ make_AUTHENTICATION()

static symbol_type isc::agent::AgentParser::make_AUTHENTICATION ( const location_type & l)
inlinestatic

Definition at line 1376 of file agent_parser.h.

References isc::agent::AgentParser::token::TOKEN_AUTHENTICATION.

Referenced by while().

◆ make_BASIC()

static symbol_type isc::agent::AgentParser::make_BASIC ( const location_type & l)
inlinestatic

Definition at line 1406 of file agent_parser.h.

References isc::agent::AgentParser::token::TOKEN_BASIC.

Referenced by while().

◆ make_BOOLEAN()

static symbol_type isc::agent::AgentParser::make_BOOLEAN ( const bool & v,
const location_type & l )
inlinestatic

Definition at line 1976 of file agent_parser.h.

References isc::agent::AgentParser::token::TOKEN_BOOLEAN.

Referenced by while().

◆ make_CERT_FILE()

static symbol_type isc::agent::AgentParser::make_CERT_FILE ( const location_type & l)
inlinestatic

Definition at line 1541 of file agent_parser.h.

References isc::agent::AgentParser::token::TOKEN_CERT_FILE.

Referenced by while().

◆ make_CERT_REQUIRED()

static symbol_type isc::agent::AgentParser::make_CERT_REQUIRED ( const location_type & l)
inlinestatic

Definition at line 1571 of file agent_parser.h.

References isc::agent::AgentParser::token::TOKEN_CERT_REQUIRED.

Referenced by while().

◆ make_CLIENTS()

static symbol_type isc::agent::AgentParser::make_CLIENTS ( const location_type & l)
inlinestatic

Definition at line 1451 of file agent_parser.h.

References isc::agent::AgentParser::token::TOKEN_CLIENTS.

Referenced by while().

◆ make_COLON()

static symbol_type isc::agent::AgentParser::make_COLON ( const location_type & l)
inlinestatic

Definition at line 1211 of file agent_parser.h.

References isc::agent::AgentParser::token::TOKEN_COLON.

Referenced by while().

◆ make_COMMA()

static symbol_type isc::agent::AgentParser::make_COMMA ( const location_type & l)
inlinestatic

Definition at line 1196 of file agent_parser.h.

References isc::agent::AgentParser::token::TOKEN_COMMA.

Referenced by while().

◆ make_COMMENT()

static symbol_type isc::agent::AgentParser::make_COMMENT ( const location_type & l)
inlinestatic

Definition at line 1361 of file agent_parser.h.

References isc::agent::AgentParser::token::TOKEN_COMMENT.

Referenced by while().

◆ make_CONTROL_AGENT()

static symbol_type isc::agent::AgentParser::make_CONTROL_AGENT ( const location_type & l)
inlinestatic

Definition at line 1301 of file agent_parser.h.

References isc::agent::AgentParser::token::TOKEN_CONTROL_AGENT.

Referenced by while().

◆ make_CONTROL_SOCKETS()

static symbol_type isc::agent::AgentParser::make_CONTROL_SOCKETS ( const location_type & l)
inlinestatic

Definition at line 1586 of file agent_parser.h.

References isc::agent::AgentParser::token::TOKEN_CONTROL_SOCKETS.

Referenced by while().

◆ make_D2_SERVER()

static symbol_type isc::agent::AgentParser::make_D2_SERVER ( const location_type & l)
inlinestatic

Definition at line 1631 of file agent_parser.h.

References isc::agent::AgentParser::token::TOKEN_D2_SERVER.

Referenced by while().

◆ make_DEBUGLEVEL()

static symbol_type isc::agent::AgentParser::make_DEBUGLEVEL ( const location_type & l)
inlinestatic

Definition at line 1796 of file agent_parser.h.

References isc::agent::AgentParser::token::TOKEN_DEBUGLEVEL.

Referenced by while().

◆ make_DHCP4_SERVER()

static symbol_type isc::agent::AgentParser::make_DHCP4_SERVER ( const location_type & l)
inlinestatic

Definition at line 1601 of file agent_parser.h.

References isc::agent::AgentParser::token::TOKEN_DHCP4_SERVER.

Referenced by while().

◆ make_DHCP6_SERVER()

static symbol_type isc::agent::AgentParser::make_DHCP6_SERVER ( const location_type & l)
inlinestatic

Definition at line 1616 of file agent_parser.h.

References isc::agent::AgentParser::token::TOKEN_DHCP6_SERVER.

Referenced by while().

◆ make_DIRECTORY()

static symbol_type isc::agent::AgentParser::make_DIRECTORY ( const location_type & l)
inlinestatic

Definition at line 1436 of file agent_parser.h.

References isc::agent::AgentParser::token::TOKEN_DIRECTORY.

Referenced by while().

◆ make_END()

static symbol_type isc::agent::AgentParser::make_END ( const location_type & l)
inlinestatic

Definition at line 1151 of file agent_parser.h.

References isc::agent::AgentParser::token::TOKEN_END.

Referenced by while().

◆ make_FLOAT()

static symbol_type isc::agent::AgentParser::make_FLOAT ( const double & v,
const location_type & l )
inlinestatic

Definition at line 1961 of file agent_parser.h.

References isc::agent::AgentParser::token::TOKEN_FLOAT.

Referenced by while().

◆ make_FLUSH()

static symbol_type isc::agent::AgentParser::make_FLUSH ( const location_type & l)
inlinestatic

Definition at line 1826 of file agent_parser.h.

References isc::agent::AgentParser::token::TOKEN_FLUSH.

Referenced by while().

◆ make_HOOKS_LIBRARIES()

static symbol_type isc::agent::AgentParser::make_HOOKS_LIBRARIES ( const location_type & l)
inlinestatic

Definition at line 1691 of file agent_parser.h.

References isc::agent::AgentParser::token::TOKEN_HOOKS_LIBRARIES.

Referenced by while().

◆ make_HTTP_HOST()

static symbol_type isc::agent::AgentParser::make_HTTP_HOST ( const location_type & l)
inlinestatic

Definition at line 1316 of file agent_parser.h.

References isc::agent::AgentParser::token::TOKEN_HTTP_HOST.

Referenced by while().

◆ make_HTTP_PORT()

static symbol_type isc::agent::AgentParser::make_HTTP_PORT ( const location_type & l)
inlinestatic

Definition at line 1331 of file agent_parser.h.

References isc::agent::AgentParser::token::TOKEN_HTTP_PORT.

Referenced by while().

◆ make_INTEGER()

static symbol_type isc::agent::AgentParser::make_INTEGER ( const int64_t & v,
const location_type & l )
inlinestatic

Definition at line 1946 of file agent_parser.h.

References isc::agent::AgentParser::token::TOKEN_INTEGER.

Referenced by while().

◆ make_KEY_FILE()

static symbol_type isc::agent::AgentParser::make_KEY_FILE ( const location_type & l)
inlinestatic

Definition at line 1556 of file agent_parser.h.

References isc::agent::AgentParser::token::TOKEN_KEY_FILE.

Referenced by while().

◆ make_LCURLY_BRACKET()

static symbol_type isc::agent::AgentParser::make_LCURLY_BRACKET ( const location_type & l)
inlinestatic

Definition at line 1256 of file agent_parser.h.

References isc::agent::AgentParser::token::TOKEN_LCURLY_BRACKET.

Referenced by while().

◆ make_LIBRARY()

static symbol_type isc::agent::AgentParser::make_LIBRARY ( const location_type & l)
inlinestatic

Definition at line 1706 of file agent_parser.h.

References isc::agent::AgentParser::token::TOKEN_LIBRARY.

Referenced by while().

◆ make_LOGGERS()

static symbol_type isc::agent::AgentParser::make_LOGGERS ( const location_type & l)
inlinestatic

Definition at line 1736 of file agent_parser.h.

References isc::agent::AgentParser::token::TOKEN_LOGGERS.

Referenced by while().

◆ make_LSQUARE_BRACKET()

static symbol_type isc::agent::AgentParser::make_LSQUARE_BRACKET ( const location_type & l)
inlinestatic

Definition at line 1226 of file agent_parser.h.

References isc::agent::AgentParser::token::TOKEN_LSQUARE_BRACKET.

Referenced by while().

◆ make_MAXSIZE()

static symbol_type isc::agent::AgentParser::make_MAXSIZE ( const location_type & l)
inlinestatic

Definition at line 1841 of file agent_parser.h.

References isc::agent::AgentParser::token::TOKEN_MAXSIZE.

Referenced by while().

◆ make_MAXVER()

static symbol_type isc::agent::AgentParser::make_MAXVER ( const location_type & l)
inlinestatic

Definition at line 1856 of file agent_parser.h.

References isc::agent::AgentParser::token::TOKEN_MAXVER.

Referenced by while().

◆ make_NAME()

static symbol_type isc::agent::AgentParser::make_NAME ( const location_type & l)
inlinestatic

Definition at line 1751 of file agent_parser.h.

References isc::agent::AgentParser::token::TOKEN_NAME.

Referenced by while().

◆ make_NULL_TYPE()

static symbol_type isc::agent::AgentParser::make_NULL_TYPE ( const location_type & l)
inlinestatic

Definition at line 1286 of file agent_parser.h.

References isc::agent::AgentParser::token::TOKEN_NULL_TYPE.

Referenced by while().

◆ make_OUTPUT()

static symbol_type isc::agent::AgentParser::make_OUTPUT ( const location_type & l)
inlinestatic

Definition at line 1781 of file agent_parser.h.

References isc::agent::AgentParser::token::TOKEN_OUTPUT.

Referenced by while().

◆ make_OUTPUT_OPTIONS()

static symbol_type isc::agent::AgentParser::make_OUTPUT_OPTIONS ( const location_type & l)
inlinestatic

Definition at line 1766 of file agent_parser.h.

References isc::agent::AgentParser::token::TOKEN_OUTPUT_OPTIONS.

Referenced by while().

◆ make_PARAMETERS()

static symbol_type isc::agent::AgentParser::make_PARAMETERS ( const location_type & l)
inlinestatic

Definition at line 1721 of file agent_parser.h.

References isc::agent::AgentParser::token::TOKEN_PARAMETERS.

Referenced by while().

◆ make_PASSWORD()

static symbol_type isc::agent::AgentParser::make_PASSWORD ( const location_type & l)
inlinestatic

Definition at line 1496 of file agent_parser.h.

References isc::agent::AgentParser::token::TOKEN_PASSWORD.

Referenced by while().

◆ make_PASSWORD_FILE()

static symbol_type isc::agent::AgentParser::make_PASSWORD_FILE ( const location_type & l)
inlinestatic

Definition at line 1511 of file agent_parser.h.

References isc::agent::AgentParser::token::TOKEN_PASSWORD_FILE.

Referenced by while().

◆ make_PATTERN()

static symbol_type isc::agent::AgentParser::make_PATTERN ( const location_type & l)
inlinestatic

Definition at line 1871 of file agent_parser.h.

References isc::agent::AgentParser::token::TOKEN_PATTERN.

Referenced by while().

◆ make_RCURLY_BRACKET()

static symbol_type isc::agent::AgentParser::make_RCURLY_BRACKET ( const location_type & l)
inlinestatic

Definition at line 1271 of file agent_parser.h.

References isc::agent::AgentParser::token::TOKEN_RCURLY_BRACKET.

Referenced by while().

◆ make_REALM()

static symbol_type isc::agent::AgentParser::make_REALM ( const location_type & l)
inlinestatic

Definition at line 1421 of file agent_parser.h.

References isc::agent::AgentParser::token::TOKEN_REALM.

Referenced by while().

◆ make_RSQUARE_BRACKET()

static symbol_type isc::agent::AgentParser::make_RSQUARE_BRACKET ( const location_type & l)
inlinestatic

Definition at line 1241 of file agent_parser.h.

References isc::agent::AgentParser::token::TOKEN_RSQUARE_BRACKET.

Referenced by while().

◆ make_SEVERITY()

static symbol_type isc::agent::AgentParser::make_SEVERITY ( const location_type & l)
inlinestatic

Definition at line 1811 of file agent_parser.h.

References isc::agent::AgentParser::token::TOKEN_SEVERITY.

Referenced by while().

◆ make_SOCKET_NAME()

static symbol_type isc::agent::AgentParser::make_SOCKET_NAME ( const location_type & l)
inlinestatic

Definition at line 1646 of file agent_parser.h.

References isc::agent::AgentParser::token::TOKEN_SOCKET_NAME.

Referenced by while().

◆ make_SOCKET_TYPE()

static symbol_type isc::agent::AgentParser::make_SOCKET_TYPE ( const location_type & l)
inlinestatic

Definition at line 1661 of file agent_parser.h.

References isc::agent::AgentParser::token::TOKEN_SOCKET_TYPE.

Referenced by while().

◆ make_START_AGENT()

static symbol_type isc::agent::AgentParser::make_START_AGENT ( const location_type & l)
inlinestatic

Definition at line 1901 of file agent_parser.h.

References isc::agent::AgentParser::token::TOKEN_START_AGENT.

Referenced by if().

◆ make_START_JSON()

static symbol_type isc::agent::AgentParser::make_START_JSON ( const location_type & l)
inlinestatic

Definition at line 1886 of file agent_parser.h.

References isc::agent::AgentParser::token::TOKEN_START_JSON.

Referenced by if().

◆ make_START_SUB_AGENT()

static symbol_type isc::agent::AgentParser::make_START_SUB_AGENT ( const location_type & l)
inlinestatic

Definition at line 1916 of file agent_parser.h.

References isc::agent::AgentParser::token::TOKEN_START_SUB_AGENT.

Referenced by if().

◆ make_STRING()

static symbol_type isc::agent::AgentParser::make_STRING ( const std::string & v,
const location_type & l )
inlinestatic

Definition at line 1931 of file agent_parser.h.

References isc::agent::AgentParser::token::TOKEN_STRING.

Referenced by while().

◆ make_TRUST_ANCHOR()

static symbol_type isc::agent::AgentParser::make_TRUST_ANCHOR ( const location_type & l)
inlinestatic

Definition at line 1526 of file agent_parser.h.

References isc::agent::AgentParser::token::TOKEN_TRUST_ANCHOR.

Referenced by while().

◆ make_TYPE()

static symbol_type isc::agent::AgentParser::make_TYPE ( const location_type & l)
inlinestatic

Definition at line 1391 of file agent_parser.h.

References isc::agent::AgentParser::token::TOKEN_TYPE.

Referenced by while().

◆ make_UNIX()

static symbol_type isc::agent::AgentParser::make_UNIX ( const location_type & l)
inlinestatic

Definition at line 1676 of file agent_parser.h.

References isc::agent::AgentParser::token::TOKEN_UNIX.

Referenced by while().

◆ make_USER()

static symbol_type isc::agent::AgentParser::make_USER ( const location_type & l)
inlinestatic

Definition at line 1466 of file agent_parser.h.

References isc::agent::AgentParser::token::TOKEN_USER.

Referenced by while().

◆ make_USER_CONTEXT()

static symbol_type isc::agent::AgentParser::make_USER_CONTEXT ( const location_type & l)
inlinestatic

Definition at line 1346 of file agent_parser.h.

References isc::agent::AgentParser::token::TOKEN_USER_CONTEXT.

Referenced by while().

◆ make_USER_FILE()

static symbol_type isc::agent::AgentParser::make_USER_FILE ( const location_type & l)
inlinestatic

Definition at line 1481 of file agent_parser.h.

References isc::agent::AgentParser::token::TOKEN_USER_FILE.

Referenced by while().

◆ operator()()

int isc::agent::AgentParser::operator() ( )

Parse.

An alias for parse ().

Returns
0 iff parsing succeeded.

Definition at line 520 of file agent_parser.cc.

References parse().

+ Here is the call graph for this function:

◆ parse()

int isc::agent::AgentParser::parse ( )
virtual

◆ symbol_name()

std::string isc::agent::AgentParser::symbol_name ( symbol_kind_type yysymbol)
static

The user-facing name of the symbol whose (internal) number is YYSYMBOL.

No bounds checking.

Definition at line 2040 of file agent_parser.cc.

Referenced by isc::agent::AgentParser::basic_symbol< by_kind >::name().

Member Data Documentation

◆ YYNTOKENS

const symbol_kind_type isc::agent::AgentParser::YYNTOKENS = symbol_kind::YYNTOKENS
static

The number of tokens.

Definition at line 752 of file agent_parser.h.

Referenced by isc::agent::AgentParser::context::expected_tokens().


The documentation for this class was generated from the following files: