Class Definition

Nested Relationships

Nested Types

Class Documentation

class Definition

Public Functions

inline Definition()
inline Definition(const Definition &rhs)
inline Definition(const std::shared_ptr<Ope> &ope)
inline operator std::shared_ptr<Ope>()
inline Definition &operator<=(const std::shared_ptr<Ope> &ope)
inline Result parse(const char *s, size_t n, const char *path = nullptr, Log log = nullptr) const
inline Result parse(const char *s, const char *path = nullptr, Log log = nullptr) const
inline Result parse(const char *s, size_t n, std::any &dt, const char *path = nullptr, Log log = nullptr) const
inline Result parse(const char *s, std::any &dt, const char *path = nullptr, Log log = nullptr) const
template<typename T>
inline Result parse_and_get_value(const char *s, size_t n, T &val, const char *path = nullptr, Log log = nullptr) const
template<typename T>
inline Result parse_and_get_value(const char *s, T &val, const char *path = nullptr, Log log = nullptr) const
template<typename T>
inline Result parse_and_get_value(const char *s, size_t n, std::any &dt, T &val, const char *path = nullptr, Log log = nullptr) const
template<typename T>
inline Result parse_and_get_value(const char *s, std::any &dt, T &val, const char *path = nullptr, Log log = nullptr) const
inline void operator=(Action a)
template<typename T>
inline Definition &operator,(T fn)
inline Definition &operator~()
inline void accept(Ope::Visitor &v)
inline std::shared_ptr<Ope> get_core_operator() const
inline bool is_token() const

Public Members

std::string name
const char *s_ = nullptr
std::pair<size_t, size_t> line_ = {1, 1}
Predicate predicate
size_t id = 0
Action action
std::function<void(const Context &c, const char *s, size_t n, std::any &dt)> enter
std::function<void(const Context &c, const char *s, size_t n, size_t matchlen, std::any &value, std::any &dt)> leave
bool ignoreSemanticValue = false
std::shared_ptr<Ope> whitespaceOpe
std::shared_ptr<Ope> wordOpe
bool enablePackratParsing = false
bool is_macro = false
std::vector<std::string> params
bool disable_action = false
bool is_left_recursive = false
bool can_be_empty = false
TracerEnter tracer_enter
TracerLeave tracer_leave
bool verbose_trace = false
TracerStartOrEnd tracer_start
TracerStartOrEnd tracer_end
std::string error_message
bool no_ast_opt = false
bool eoi_check = true
mutable bool collect_packrat_stats = false
mutable std::vector<Context::PackratStats> packrat_stats_
struct Result

Public Members

bool ret
bool recovered
size_t len
ErrorInfo error_info