reglibcpp  2.0.0
A C++ implementation of models for regular languages
Public Member Functions | Public Attributes | List of all members
reg::dfa::impl Struct Reference

Private implementation details of DFAs. More...

Public Member Functions

 impl ()
 Constructs private implementation object for a DFA accepting the empty language ∅. More...
 
 impl (vector< char32_t > &&u32alphabet, vector< vector< size_t >> &&transitions, vector< string > &&labels, valarray< bool > &&accepting)
 Constructs private implementation object with provided members. More...
 

Public Attributes

std::shared_ptr< nfa const > equivalent
 Holds an equivalent NFA in case it is ever needed. More...
 
valarray< bool > accepting
 A true value marks an index as belonging to an accept state. More...
 
vector< char32_t > u32alphabet
 Represents the set of processable symbols. More...
 
vector< stringalphabet
 Represents the set of processable symbols as UTF-8-encoded strings. More...
 
vector< stringlabels
 Stores the names of states. More...
 
vector< vector< size_t > > transitions
 Stores the transition function as a table viz state index × symbol index → state index. More...
 

Detailed Description

Private implementation details of DFAs.

Definition at line 51 of file dfa.cpp.

Constructor & Destructor Documentation

◆ impl() [1/2]

reg::dfa::impl::impl ( )
inline

Constructs private implementation object for a DFA accepting the empty language ∅.

Definition at line 67 of file dfa.cpp.

◆ impl() [2/2]

reg::dfa::impl::impl ( vector< char32_t > &&  u32alphabet,
vector< vector< size_t >> &&  transitions,
vector< string > &&  labels,
valarray< bool > &&  accepting 
)
inline

Constructs private implementation object with provided members.

Definition at line 75 of file dfa.cpp.

Member Data Documentation

◆ accepting

valarray<bool> reg::dfa::impl::accepting

A true value marks an index as belonging to an accept state.

Definition at line 55 of file dfa.cpp.

◆ alphabet

vector<string> reg::dfa::impl::alphabet

Represents the set of processable symbols as UTF-8-encoded strings.

Definition at line 58 of file dfa.cpp.

◆ equivalent

std::shared_ptr<nfa const> reg::dfa::impl::equivalent
mutable

Holds an equivalent NFA in case it is ever needed.

Definition at line 52 of file dfa.cpp.

◆ labels

vector<string> reg::dfa::impl::labels

Stores the names of states.

Definition at line 60 of file dfa.cpp.

◆ transitions

vector<vector<size_t> > reg::dfa::impl::transitions

Stores the transition function as a table viz state index × symbol index → state index.

Definition at line 62 of file dfa.cpp.

◆ u32alphabet

vector<char32_t> reg::dfa::impl::u32alphabet

Represents the set of processable symbols.

Definition at line 57 of file dfa.cpp.


The documentation for this struct was generated from the following file: