|
TuringSim
C++ framework to simulate abstract computing models
|
3 #include <memory/word.h>
4 #include <memory/stack.h>
5 #include <transition/transition.h>
14 template<
typename WordAlphabet,
typename StackAlphabet>
27 typename StackSymbolType_
30 public Transition<StateType_, PushdownMachineStorage<LetterType_, StackSymbolType_>, std::monostate> {
41 typedef std::tuple<WordType, StackType> StorageType_;
58 static_assert(std::is_same_v<StateType, StateType_>);
59 static_assert(std::is_same_v<StorageType, StorageType_>);
60 static_assert(std::is_same_v<ApplyHelperType, std::monostate>);
ApplyHelperType_ ApplyHelperType
The type of apply helpers.
Class to represent a word memory, as used by a FSA.
PushdownMachineTransition(PushdownMachineTransition &&)=default
The default move constructor.
std::tuple< Memory::Word::Word< WordAlphabet >, Memory::Stack::Stack< StackAlphabet > > PushdownMachineStorage
The type of the memory of a pushdown machine from the types of letters and symbols on the stack.
StateType_ StateType
The type of states.
Base class for transitions.
PushdownMachineTransition()=default
The default constructor.
PushdownMachineTransition(const PushdownMachineTransition &)=default
The default copy constructor.
Class to represent a stack memory.
LetterType_ LetterType
The type of letter of the word.
PushdownMachineTransition & operator=(PushdownMachineTransition &&)=default
The default move assignment operator.
StackSymbolType_ StackSymbolType
The type of symbols in the stack.
virtual ~PushdownMachineTransition()=default
The default virtual destructor.
Memory::Stack::Stack< StackSymbolType_ > StackType
The type of the stack of a machine with such transition.
PushdownMachineTransition & operator=(const PushdownMachineTransition &)=default
The default copy assignment operator.
Transition of pushdown machines, i.e. transition on a word and a stack.
StorageType_ StorageType
The type of storage.
Memory::Word::Word< LetterType_ > WordType
The type of words read by a machine with such transition.
Transitions for pushdown machines.