Algorithms Library Toolkit
A toolkit for algorithms, especially for algorithms on formal languages
Data Structures | Functions
automaton::determinize Namespace Reference

Data Structures

class  Determinize
 

Functions

template<class StateType >
ext::set< StateType > retrieveDSubSet (const ext::set< ext::pair< StateType, StateType > > &localOperation)
 
template<class StateType >
ext::set< ext::pair< StateType, StateType > > createIdentity (const ext::set< StateType > &states)
 
template<class InputSymbolType , class StateType , class N >
ext::set< ext::pair< StateType, StateType > > retInitial (const ext::set< ext::pair< StateType, StateType > > &S, const InputSymbolType &input, const N &nondeterministic)
 
template<class InputSymbolType , class DeterministicPushdownStoreSymbolType , class StateType , class N >
ext::set< ext::pair< StateType, StateType > > ret (const ext::set< ext::pair< StateType, StateType > > &S, const DeterministicPushdownStoreSymbolType &pdaSymbol, const InputSymbolType &input, const N &nondeterministic)
 
template<class InputSymbolType , class StateType , class N >
ext::set< ext::pair< StateType, StateType > > call (const ext::set< ext::pair< StateType, StateType > > &S, const InputSymbolType &input, const N &nondeterministic)
 
template<class InputSymbolType , class StateType , class N >
 ext::set< ext::pair< StateType, StateType > > (const ext::set< ext::pair< StateType, StateType > > &S, const InputSymbolType &input, const N &nondeterministic)
 
template<class DeterministicStateType , class DeterministicPushdownStoreSymbolType >
void updateTopSymbols (ext::map< DeterministicStateType, ext::set< DeterministicStateType > > &localClosure, ext::map< DeterministicStateType, ext::set< DeterministicPushdownStoreSymbolType > > &topSymbols, std::queue< ext::pair< DeterministicStateType, DeterministicPushdownStoreSymbolType > > &dirtyStateSymbols, const DeterministicStateType &state, const ext::set< DeterministicPushdownStoreSymbolType > &newSymbols)
 
template<class SymbolType , class StateType >
void constructTransitions (const common::ranked_symbol< SymbolType > &symbol, typename ext::vector< StateType >::const_iterator state, typename ext::vector< StateType >::const_iterator end, const StateType &rhs, const ext::multimap< StateType, ext::set< StateType > > &nftaStateToDftaStates, ext::vector< ext::set< StateType > > &transitionLHS, ext::map< ext::pair< common::ranked_symbol< SymbolType >, ext::vector< ext::set< StateType > > >, ext::set< StateType > > &resultTransition)
 
template<class SymbolType , class StateType >
void constructTransitions (const common::ranked_symbol< SymbolType > &symbol, typename ext::multiset< StateType >::const_iterator state, typename ext::multiset< StateType >::const_iterator end, const StateType &rhs, const ext::multimap< StateType, ext::set< StateType > > &nftaStateToDftaStates, ext::multiset< ext::set< StateType > > &transitionLHS, ext::map< ext::pair< common::ranked_symbol< SymbolType >, ext::multiset< ext::set< StateType > > >, ext::set< StateType > > &resultTransition)
 
template<class InputSymbolType , class PushdownStoreSymbolType , class StateType >
ext::set< common::symbol_or_epsilon< InputSymbolType > > getRetPartitioning (const automaton::RealTimeHeightDeterministicNPDA< InputSymbolType, PushdownStoreSymbolType, StateType > &npda, const ext::set< StateType > &dSubSet)
 
template<class InputSymbolType , class PushdownStoreSymbolType , class StateType >
ext::set< common::symbol_or_epsilon< InputSymbolType > > getCallPartitioning (const automaton::RealTimeHeightDeterministicNPDA< InputSymbolType, PushdownStoreSymbolType, StateType > &npda, const ext::set< StateType > &dSubSet)
 
template<class InputSymbolType , class PushdownStoreSymbolType , class StateType >
ext::set< common::symbol_or_epsilon< InputSymbolType > > getLocalPartitioning (const automaton::RealTimeHeightDeterministicNPDA< InputSymbolType, PushdownStoreSymbolType, StateType > &npda, const ext::set< StateType > &dSubSet)
 

Function Documentation

◆ call()

template<class InputSymbolType , class StateType , class N >
ext::set< ext::pair< StateType, StateType > > automaton::determinize::call ( const ext::set< ext::pair< StateType, StateType > > &  S,
const InputSymbolType &  input,
const N &  nondeterministic 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ constructTransitions() [1/2]

template<class SymbolType , class StateType >
void automaton::determinize::constructTransitions ( const common::ranked_symbol< SymbolType > &  symbol,
typename ext::multiset< StateType >::const_iterator  state,
typename ext::multiset< StateType >::const_iterator  end,
const StateType &  rhs,
const ext::multimap< StateType, ext::set< StateType > > &  nftaStateToDftaStates,
ext::multiset< ext::set< StateType > > &  transitionLHS,
ext::map< ext::pair< common::ranked_symbol< SymbolType >, ext::multiset< ext::set< StateType > > >, ext::set< StateType > > &  resultTransition 
)
Here is the call graph for this function:

◆ constructTransitions() [2/2]

template<class SymbolType , class StateType >
void automaton::determinize::constructTransitions ( const common::ranked_symbol< SymbolType > &  symbol,
typename ext::vector< StateType >::const_iterator  state,
typename ext::vector< StateType >::const_iterator  end,
const StateType &  rhs,
const ext::multimap< StateType, ext::set< StateType > > &  nftaStateToDftaStates,
ext::vector< ext::set< StateType > > &  transitionLHS,
ext::map< ext::pair< common::ranked_symbol< SymbolType >, ext::vector< ext::set< StateType > > >, ext::set< StateType > > &  resultTransition 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ createIdentity()

template<class StateType >
ext::set< ext::pair< StateType, StateType > > automaton::determinize::createIdentity ( const ext::set< StateType > &  states)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ext::set< ext::pair< StateType, StateType > >()

template<class InputSymbolType , class StateType , class N >
automaton::determinize::ext::set< ext::pair< StateType, StateType > > ( const ext::set< ext::pair< StateType, StateType > > &  S,
const InputSymbolType &  input,
const N &  nondeterministic 
)

◆ getCallPartitioning()

template<class InputSymbolType , class PushdownStoreSymbolType , class StateType >
ext::set< common::symbol_or_epsilon< InputSymbolType > > automaton::determinize::getCallPartitioning ( const automaton::RealTimeHeightDeterministicNPDA< InputSymbolType, PushdownStoreSymbolType, StateType > &  npda,
const ext::set< StateType > &  dSubSet 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getLocalPartitioning()

template<class InputSymbolType , class PushdownStoreSymbolType , class StateType >
ext::set< common::symbol_or_epsilon< InputSymbolType > > automaton::determinize::getLocalPartitioning ( const automaton::RealTimeHeightDeterministicNPDA< InputSymbolType, PushdownStoreSymbolType, StateType > &  npda,
const ext::set< StateType > &  dSubSet 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getRetPartitioning()

template<class InputSymbolType , class PushdownStoreSymbolType , class StateType >
ext::set< common::symbol_or_epsilon< InputSymbolType > > automaton::determinize::getRetPartitioning ( const automaton::RealTimeHeightDeterministicNPDA< InputSymbolType, PushdownStoreSymbolType, StateType > &  npda,
const ext::set< StateType > &  dSubSet 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ret()

template<class InputSymbolType , class DeterministicPushdownStoreSymbolType , class StateType , class N >
ext::set< ext::pair< StateType, StateType > > automaton::determinize::ret ( const ext::set< ext::pair< StateType, StateType > > &  S,
const DeterministicPushdownStoreSymbolType &  pdaSymbol,
const InputSymbolType &  input,
const N &  nondeterministic 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ retInitial()

template<class InputSymbolType , class StateType , class N >
ext::set< ext::pair< StateType, StateType > > automaton::determinize::retInitial ( const ext::set< ext::pair< StateType, StateType > > &  S,
const InputSymbolType &  input,
const N &  nondeterministic 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ retrieveDSubSet()

template<class StateType >
ext::set< StateType > automaton::determinize::retrieveDSubSet ( const ext::set< ext::pair< StateType, StateType > > &  localOperation)
Here is the caller graph for this function:

◆ updateTopSymbols()

template<class DeterministicStateType , class DeterministicPushdownStoreSymbolType >
void automaton::determinize::updateTopSymbols ( ext::map< DeterministicStateType, ext::set< DeterministicStateType > > &  localClosure,
ext::map< DeterministicStateType, ext::set< DeterministicPushdownStoreSymbolType > > &  topSymbols,
std::queue< ext::pair< DeterministicStateType, DeterministicPushdownStoreSymbolType > > &  dirtyStateSymbols,
const DeterministicStateType &  state,
const ext::set< DeterministicPushdownStoreSymbolType > &  newSymbols 
)
Here is the call graph for this function:
Here is the caller graph for this function: