TuringSim
C++ framework to simulate abstract computing models
Classes | Typedefs | Functions
TuringSim::Transition::Turing Namespace Reference

Transitions for Turing machines. More...

Classes

class  LocalTuringMachineTransition
 Base class for Turing machine transitions that only reads the current symbol on the tape to decide if it matches. More...
 
class  MConfigurationTuringMachineTransition
 Base class for Turing machine transitions that works with m-configurations. More...
 
class  OneStepTuringMachineTransition
 Turing machine transitions that reads only the current symbol, writes a symbol, performs a simple move and gets into a new state. More...
 
class  SimpleTuringMachineTransition
 Turing machine transition where the state pattern is a TuringSim::State::SimpleStatePattern and the symbol pattern is a Symbol::SimpleSymbolPattern. More...
 
class  StringTuringStyleMConfigurationTuringMachineTransition
 Transitions as we find in 1936 Turing's paper, where nodes are std::string. More...
 
class  TuringMachineTransition
 Base class for Turing machine transitions. More...
 
class  TuringStyleInstructionListParser
 A parser for instructions of StringTuringStyleMConfigurationTuringMachineTransition. More...
 
class  TuringStyleInstructionListParserBadInitializationException
 Exception thrown when the special characters of a SymbolPatternParser are not consistent. More...
 
class  TuringStyleInstructionListParserSyntaxErrorException
 Exception launched when we try to parse a string with a syntax error as a MConfiguration<std::string>. More...
 
class  TuringStyleMConfigurationTuringMachineTransition
 Transitions as we find in 1936 Turing's paper. More...
 

Typedefs

template<typename T >
using MConfigurationTuringMachineTransitionApplyHelper = std::map< T, std::shared_ptr< const State::MConfiguration::MConfiguration< T > >>
 The helper of MConfigurationTuringMachineTransition<T, _, _> More...
 

Functions

template<typename U , bool hT, typename CharT = char, typename Traits = std::char_traits<CharT>>
std::basic_ostream< CharT, Traits > & operator<< (std::basic_ostream< CharT, Traits > &os, const TuringStyleMConfigurationTuringMachineTransition< U, hT > &transition)
 Debug printer of transitions. More...
 

Detailed Description

Transitions for Turing machines.

Typedef Documentation

◆ MConfigurationTuringMachineTransitionApplyHelper

The helper of MConfigurationTuringMachineTransition<T, _, _>

Template Parameters
Tthe type of nodes in m-configurations.

Definition at line 14 of file mConfigurationTuringMachineTransition.h.

Function Documentation

◆ operator<<()

template<typename U , bool hT, typename CharT = char, typename Traits = std::char_traits<CharT>>
std::basic_ostream<CharT, Traits>& TuringSim::Transition::Turing::operator<< ( std::basic_ostream< CharT, Traits > &  os,
const TuringStyleMConfigurationTuringMachineTransition< U, hT > &  transition 
)

Debug printer of transitions.

Template Parameters
Uthe type of symbols and nodes in transition.
hTwhether the tape is a half-tape.
CharTthe char type.
Traitsstd::basic_ostream trait.
Parameters
[in,out]osthe output stream
[in]transitionthe token kind to print.
Returns
the updated stream

Definition at line 1 of file turingStyleMConfigurationTuringMachineTransition.h.