|
TuringSim
C++ framework to simulate abstract computing models
|
3 #include <memory/word.h>
4 #include <transition/transition.h>
22 public Transition<StateType_, Memory::Word::Word<SymbolType_>, std::monostate> {
35 static_assert(std::is_same_v<StateType, StateType_>);
37 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.
virtual std::optional< ApplyHelperType > matchFromCurrentLetter(const StateType &state, const std::optional< SymbolType > &letter) const =0
Test whether the transition matches a configuration. Returned optional is empty iff the transition do...
SymbolType_ SymbolType
The type of symbols on the tape.
StateType_ StateType
The type of states.
Base class for transitions.
virtual std::optional< ApplyHelperType > match(const StateType &state, const StorageType &storage) const override final
Test whether the transition matches a configuration. Returned optional is empty iff the transition do...
FiniteStateMachineTransition(FiniteStateMachineTransition &&)=default
The default move constructor.
FiniteStateMachineTransition(const FiniteStateMachineTransition &)=default
The default copy constructor.
StateType_ StateType
The type of states.
Transitions for finite-state machines.
FiniteStateMachineTransition & operator=(const FiniteStateMachineTransition &)=default
The default copy assignment operator.
virtual ~FiniteStateMachineTransition() override=default
The default virtual destructor.
Transition of finite state machines, i.e. transition on a word.
FiniteStateMachineTransition & operator=(FiniteStateMachineTransition &&)=default
The default move assignment operator.
FiniteStateMachineTransition()=default
The default constructor.
StorageType_ StorageType
The type of storage.