MySQL 9.3.0
Source Code Documentation
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
rules_parser.cc File Reference
#include "rules_parser.h"
#include <algorithm>
#include <cctype>
#include <exception>
#include <memory>
#include <regex>
#include <unordered_map>
#include <utility>
#include "parser.h"
#include "utils.h"

Classes

class  anonymous_namespace{rules_parser.cc}::Location
 

Namespaces

namespace  routing_guidelines
 
namespace  routing_guidelines::anonymous_namespace{rules_parser.cc}
 
namespace  anonymous_namespace{rules_parser.cc}
 

Macros

#define NUMT   rpn::Token::Type::NUM
 
#define STRT   rpn::Token::Type::STR
 
#define BOOLT   rpn::Token::Type::BOOL
 

Functions

bool routing_guidelines::is_member_role (const std::string &s)
 
bool routing_guidelines::is_cluster_role (const std::string &s)
 
void routing_guidelines::anonymous_namespace{rules_parser.cc}::reduce_regexp_like (std::vector< rpn::Token > *stack)
 
void routing_guidelines::anonymous_namespace{rules_parser.cc}::reduce_is_ipv4 (std::vector< rpn::Token > *stack)
 
void routing_guidelines::anonymous_namespace{rules_parser.cc}::reduce_is_ipv6 (std::vector< rpn::Token > *stack)
 
void routing_guidelines::anonymous_namespace{rules_parser.cc}::reduce_sqrt (std::vector< rpn::Token > *stack)
 
void routing_guidelines::anonymous_namespace{rules_parser.cc}::reduce_number (std::vector< rpn::Token > *stack)
 
void routing_guidelines::anonymous_namespace{rules_parser.cc}::reduce_substring_index (std::vector< rpn::Token > *stack)
 
void routing_guidelines::anonymous_namespace{rules_parser.cc}::reduce_str_startswith (std::vector< rpn::Token > *stack)
 
void routing_guidelines::anonymous_namespace{rules_parser.cc}::reduce_str_endswith (std::vector< rpn::Token > *stack)
 
void routing_guidelines::anonymous_namespace{rules_parser.cc}::reduce_str_contains (std::vector< rpn::Token > *stack)
 
const rpn::Function_definition * routing_guidelines::anonymous_namespace{rules_parser.cc}::get_function_def (const std::string &name)
 
std::string_view anonymous_namespace{rules_parser.cc}::span_id (const std::string &s, std::string::size_type start, bool *complex_id)
 
std::string::size_type anonymous_namespace{rules_parser.cc}::span_num (const std::string &s, std::string::size_type start, double *ret)
 
std::string::size_type anonymous_namespace{rules_parser.cc}::span_quote (const std::string &buf, std::string::size_type offset)
 
std::string::size_type anonymous_namespace{rules_parser.cc}::span_brace (const std::string &buf, std::string::size_type offset)
 
int yylex (union YYSTYPE *lvalp, YYLTYPE *llocp, routing_guidelines::Rules_parser *rp)
 
void yyerror (YYLTYPE *llocp, routing_guidelines::Rules_parser *rp, const char *msg)
 

Variables

const std::vector< rpn::Function_definition > routing_guidelines::anonymous_namespace{rules_parser.cc}::functions
 
static const std::unordered_map< std::string_view, int > keywords
 

Macro Definition Documentation

◆ BOOLT

#define BOOLT   rpn::Token::Type::BOOL

◆ NUMT

#define NUMT   rpn::Token::Type::NUM

◆ STRT

#define STRT   rpn::Token::Type::STR

Function Documentation

◆ yyerror()

void yyerror ( YYLTYPE *  llocp,
routing_guidelines::Rules_parser rp,
const char *  msg 
)

◆ yylex()

int yylex ( union YYSTYPE lvalp,
YYLTYPE *  llocp,
routing_guidelines::Rules_parser rp 
)

Variable Documentation

◆ keywords

const std::unordered_map<std::string_view, int> keywords
static
Initial value:
= {
{"TRUE", T_TRUE}, {"IN", T_IN}, {"NOT", T_NOT}, {"AND", T_AND},
{"OR", T_OR}, {"FALSE", T_FALSE}, {"NULL", T_NULL}, {"LIKE", T_LIKE}}