bux API Reference 1.9.0
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)
 
template<class F_Get >
requires std::invocable<F_Get,int,const T_Action&>
void eachFinalState (F_Get get) const
 
template<class F_Get >
requires std::invocable<F_Get,int,const T_Inputs&,int>
void eachTransition (F_Get get) const
 
bool isFinal (int state, T_Action &action) const
 
size_t totalFinalStates () const
 

Static Public Member Functions

static 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 123 of file FA.h.

Member Typedef Documentation

◆ C_Conflict

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

Definition at line 134 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 138 of file FA.h.

Member Function Documentation

◆ eachFinalState()

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

Definition at line 149 of file FA.h.

◆ eachTransition()

template<class T_Inputs , class T_Action , class C_Traits = C_FA_Traits<T_Inputs>>
template<class F_Get >
requires std::invocable<F_Get,int,const T_Inputs&,int>
void bux::C_DFA< T_Inputs, T_Action, C_Traits >::eachTransition ( F_Get 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 int bux::C_DFA< T_Inputs, T_Action, C_Traits >::startingState ( )
inlinestatic

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: