Cockatrice 2025-11-30-Development-2.11.0-beta.38
A cross-platform virtual tabletop for multiplayer card games
Loading...
Searching...
No Matches
peg::PrecedenceClimbing Class Reference

#include <peglib.h>

Inheritance diagram for peg::PrecedenceClimbing:
[legend]
Collaboration diagram for peg::PrecedenceClimbing:
[legend]

Public Types

using BinOpeInfo = std::map<std::string_view, std::pair<size_t, char>>

Public Member Functions

 PrecedenceClimbing (const std::shared_ptr< Ope > &atom, const std::shared_ptr< Ope > &binop, const BinOpeInfo &info, const Definition &rule)
size_t parse_core (const char *s, size_t n, SemanticValues &vs, Context &c, std::any &dt) const override
void accept (Visitor &v) override
Public Member Functions inherited from peg::Ope
virtual ~Ope ()=default
size_t parse (const char *s, size_t n, SemanticValues &vs, Context &c, std::any &dt) const

Public Attributes

std::shared_ptr< Opeatom_
std::shared_ptr< Opebinop_
BinOpeInfo info_
const Definitionrule_

Private Member Functions

size_t parse_expression (const char *s, size_t n, SemanticValues &vs, Context &c, std::any &dt, size_t min_prec) const
Definitionget_reference_for_binop (Context &c) const

Member Typedef Documentation

◆ BinOpeInfo

using peg::PrecedenceClimbing::BinOpeInfo = std::map<std::string_view, std::pair<size_t, char>>

Constructor & Destructor Documentation

◆ PrecedenceClimbing()

peg::PrecedenceClimbing::PrecedenceClimbing ( const std::shared_ptr< Ope > & atom,
const std::shared_ptr< Ope > & binop,
const BinOpeInfo & info,
const Definition & rule )
inline

Member Function Documentation

◆ accept()

void peg::PrecedenceClimbing::accept ( Visitor & v)
inlineoverridevirtual

Implements peg::Ope.

Here is the call graph for this function:

◆ get_reference_for_binop()

Definition & peg::PrecedenceClimbing::get_reference_for_binop ( Context & c) const
inlineprivate
Here is the call graph for this function:
Here is the caller graph for this function:

◆ parse_core()

size_t peg::PrecedenceClimbing::parse_core ( const char * s,
size_t n,
SemanticValues & vs,
Context & c,
std::any & dt ) const
inlineoverridevirtual

Implements peg::Ope.

Here is the call graph for this function:

◆ parse_expression()

size_t peg::PrecedenceClimbing::parse_expression ( const char * s,
size_t n,
SemanticValues & vs,
Context & c,
std::any & dt,
size_t min_prec ) const
inlineprivate
Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ atom_

std::shared_ptr<Ope> peg::PrecedenceClimbing::atom_

◆ binop_

std::shared_ptr<Ope> peg::PrecedenceClimbing::binop_

◆ info_

BinOpeInfo peg::PrecedenceClimbing::info_

◆ rule_

const Definition& peg::PrecedenceClimbing::rule_

The documentation for this class was generated from the following file:
  • libcockatrice_utility/libcockatrice/utility/peglib.h