Cockatrice 2026-06-01-Development-3.1.0-beta.3
A virtual tabletop for multiplayer card games
Loading...
Searching...
No Matches
peg::ComputeFirstSet Struct Reference

#include <peglib.h>

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

Public Types

using FirstSetCache = std::unordered_map<const Definition *, FirstSet>

Public Member Functions

void visit (Sequence &ope) override
void visit (PrioritizedChoice &ope) override
void visit (Repetition &ope) override
void visit (AndPredicate &) override
void visit (NotPredicate &) override
void visit (Dictionary &ope) override
void visit (LiteralString &ope) override
void visit (CharacterClass &ope) override
void visit (Character &ope) override
void visit (AnyCharacter &) override
void visit (User &) override
void visit (Reference &ope) override
void visit (BackReference &) override
void visit (Cut &) override
 ComputeFirstSet (FirstSetCache &cache)
void visit (CaptureScope &ope) override
void visit (Capture &ope) override
void visit (TokenBoundary &ope) override
void visit (Ignore &ope) override
void visit (WeakHolder &ope) override
void visit (Holder &ope) override
void visit (Whitespace &ope) override
void visit (Recovery &ope) override
void visit (PrecedenceClimbing &ope) override
Public Member Functions inherited from peg::TraversalVisitor
void visit (Sequence &ope) override
void visit (PrioritizedChoice &ope) override
void visit (Repetition &ope) override
void visit (AndPredicate &ope) override
void visit (NotPredicate &ope) override
void visit (CaptureScope &ope) override
void visit (Capture &ope) override
void visit (TokenBoundary &ope) override
void visit (Ignore &ope) override
void visit (WeakHolder &ope) override
void visit (Holder &ope) override
void visit (Whitespace &ope) override
void visit (Recovery &ope) override
void visit (PrecedenceClimbing &ope) override
virtual void visit (Dictionary &)
virtual void visit (LiteralString &)
virtual void visit (CharacterClass &)
virtual void visit (Character &)
virtual void visit (AnyCharacter &)
virtual void visit (User &)
virtual void visit (Reference &)
virtual void visit (BackReference &)
virtual void visit (Cut &)
Public Member Functions inherited from peg::Ope::Visitor
virtual ~Visitor ()

Public Attributes

FirstSet result_

Private Attributes

FirstSetCachecache_
std::unordered_set< const Definition * > refs_
size_t cycle_count_ = 0

Member Typedef Documentation

◆ FirstSetCache

using peg::ComputeFirstSet::FirstSetCache = std::unordered_map<const Definition *, FirstSet>

Constructor & Destructor Documentation

◆ ComputeFirstSet()

peg::ComputeFirstSet::ComputeFirstSet ( FirstSetCache & cache)
inlineexplicit

Member Function Documentation

◆ visit() [1/23]

void peg::ComputeFirstSet::visit ( AndPredicate & )
inlineoverridevirtual

Reimplemented from peg::Ope::Visitor.

◆ visit() [2/23]

void peg::ComputeFirstSet::visit ( AnyCharacter & )
inlineoverridevirtual

Reimplemented from peg::Ope::Visitor.

◆ visit() [3/23]

void peg::ComputeFirstSet::visit ( BackReference & )
inlineoverridevirtual

Reimplemented from peg::Ope::Visitor.

◆ visit() [4/23]

void peg::TraversalVisitor::visit ( Capture & ope)
inlineoverridevirtual

Reimplemented from peg::Ope::Visitor.

◆ visit() [5/23]

void peg::TraversalVisitor::visit ( CaptureScope & ope)
inlineoverridevirtual

Reimplemented from peg::Ope::Visitor.

◆ visit() [6/23]

void peg::ComputeFirstSet::visit ( Character & ope)
inlineoverridevirtual

Reimplemented from peg::Ope::Visitor.

◆ visit() [7/23]

void peg::ComputeFirstSet::visit ( CharacterClass & ope)
inlineoverridevirtual

Reimplemented from peg::Ope::Visitor.

◆ visit() [8/23]

void peg::ComputeFirstSet::visit ( Cut & )
inlineoverridevirtual

Reimplemented from peg::Ope::Visitor.

◆ visit() [9/23]

void peg::ComputeFirstSet::visit ( Dictionary & ope)
inlineoverridevirtual

Reimplemented from peg::Ope::Visitor.

◆ visit() [10/23]

void peg::TraversalVisitor::visit ( Holder & ope)
inlineoverridevirtual

Reimplemented from peg::Ope::Visitor.

◆ visit() [11/23]

void peg::TraversalVisitor::visit ( Ignore & ope)
inlineoverridevirtual

Reimplemented from peg::Ope::Visitor.

◆ visit() [12/23]

void peg::ComputeFirstSet::visit ( LiteralString & ope)
inlineoverridevirtual

Reimplemented from peg::Ope::Visitor.

◆ visit() [13/23]

void peg::ComputeFirstSet::visit ( NotPredicate & )
inlineoverridevirtual

Reimplemented from peg::Ope::Visitor.

◆ visit() [14/23]

void peg::TraversalVisitor::visit ( PrecedenceClimbing & ope)
inlineoverridevirtual

Reimplemented from peg::Ope::Visitor.

◆ visit() [15/23]

void peg::ComputeFirstSet::visit ( PrioritizedChoice & ope)
inlineoverridevirtual

Reimplemented from peg::Ope::Visitor.

Here is the call graph for this function:

◆ visit() [16/23]

void peg::TraversalVisitor::visit ( Recovery & ope)
inlineoverridevirtual

Reimplemented from peg::Ope::Visitor.

◆ visit() [17/23]

void peg::ComputeFirstSet::visit ( Reference & ope)
inlineoverridevirtual

Reimplemented from peg::Ope::Visitor.

Here is the call graph for this function:

◆ visit() [18/23]

void peg::ComputeFirstSet::visit ( Repetition & ope)
inlineoverridevirtual

Reimplemented from peg::Ope::Visitor.

◆ visit() [19/23]

void peg::ComputeFirstSet::visit ( Sequence & ope)
inlineoverridevirtual

Reimplemented from peg::Ope::Visitor.

◆ visit() [20/23]

void peg::TraversalVisitor::visit ( TokenBoundary & ope)
inlineoverridevirtual

Reimplemented from peg::Ope::Visitor.

◆ visit() [21/23]

void peg::ComputeFirstSet::visit ( User & )
inlineoverridevirtual

Reimplemented from peg::Ope::Visitor.

◆ visit() [22/23]

void peg::TraversalVisitor::visit ( WeakHolder & ope)
inlineoverridevirtual

Reimplemented from peg::Ope::Visitor.

◆ visit() [23/23]

void peg::TraversalVisitor::visit ( Whitespace & ope)
inlineoverridevirtual

Reimplemented from peg::Ope::Visitor.

Member Data Documentation

◆ cache_

FirstSetCache& peg::ComputeFirstSet::cache_
private

◆ cycle_count_

size_t peg::ComputeFirstSet::cycle_count_ = 0
private

◆ refs_

std::unordered_set<const Definition *> peg::ComputeFirstSet::refs_
private

◆ result_

FirstSet peg::ComputeFirstSet::result_

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