bux API Reference 1.12.3
Static library of whatever are seen required in general purpose but not directly supported from Modern C++. Or whatever reusable originated from my side projects.
Loading...
Searching...
No Matches
bux::C_DFA< T_Inputs, T_Action, C_Traits > Class Template Reference

#include <FA.h>

Public Types

typedef std::set< T_Action > C_Conflict
 

Public Member Functions

template<class F_PickAction>
requires requires (int tag, const C_Conflict &conflict) { { pickAction(tag, conflict) }->std::convertible_to<T_Action>; }
 C_DFA (const C_NFA< T_Inputs, T_Action, C_Traits > &nfa, F_PickAction pickAction)
 
void eachFinalState (std::invocable< int, const T_Action & > auto get) const
 
void eachTransition (std::invocable< int, const T_Inputs &, int > auto get) const
 
bool isFinal (int state, T_Action &action) const
 
size_t totalFinalStates () const
 

Static Public Member Functions

static constexpr int startingState ()
 

Detailed Description

template<class T_Inputs, class T_Action, class C_Traits = C_FA_Traits<T_Inputs>>
class bux::C_DFA< T_Inputs, T_Action, C_Traits >
Parameters
T_InputsSet of inputs
T_ActionType of action on final state.
C_TraitsCollection of compile-time decisions

DFA stands for Deterministic Finite Automoton

Examples
parsergen/ScannerGen/main.cpp.

Definition at line 125 of file FA.h.

Member Typedef Documentation

◆ C_Conflict

template<class T_Inputs, class T_Action, class C_Traits = C_FA_Traits<T_Inputs>>
typedef std::set<T_Action> bux::C_DFA< T_Inputs, T_Action, C_Traits >::C_Conflict

Definition at line 136 of file FA.h.

Constructor & Destructor Documentation

◆ C_DFA()

template<class T_Inputs, class T_Action, class C_Traits = C_FA_Traits<T_Inputs>>
template<class F_PickAction>
requires requires (int tag, const C_Conflict &conflict) { { pickAction(tag, conflict) }->std::convertible_to<T_Action>; }
bux::C_DFA< T_Inputs, T_Action, C_Traits >::C_DFA ( const C_NFA< T_Inputs, T_Action, C_Traits > & nfa,
F_PickAction pickAction )
inline

Definition at line 140 of file FA.h.

Member Function Documentation

◆ eachFinalState()

template<class T_Inputs, class T_Action, class C_Traits = C_FA_Traits<T_Inputs>>
void bux::C_DFA< T_Inputs, T_Action, C_Traits >::eachFinalState ( std::invocable< int, const T_Action & > auto get) const
inline

Definition at line 150 of file FA.h.

◆ eachTransition()

template<class T_Inputs, class T_Action, class C_Traits = C_FA_Traits<T_Inputs>>
void bux::C_DFA< T_Inputs, T_Action, C_Traits >::eachTransition ( std::invocable< int, const T_Inputs &, int > auto get) const
inline

Definition at line 155 of file FA.h.

◆ isFinal()

template<class T_Inputs, class T_Action, class C_Traits>
bool bux::C_DFA< T_Inputs, T_Action, C_Traits >::isFinal ( int state,
T_Action & action ) const

Definition at line 435 of file FA.h.

◆ startingState()

template<class T_Inputs, class T_Action, class C_Traits = C_FA_Traits<T_Inputs>>
static constexpr int bux::C_DFA< T_Inputs, T_Action, C_Traits >::startingState ( )
inlinestaticconstexpr

Definition at line 163 of file FA.h.

◆ totalFinalStates()

template<class T_Inputs, class T_Action, class C_Traits = C_FA_Traits<T_Inputs>>
size_t bux::C_DFA< T_Inputs, T_Action, C_Traits >::totalFinalStates ( ) const
inline

Definition at line 164 of file FA.h.


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