TuringSim
C++ framework to simulate abstract computing models
Namespaces | Classes | Enumerations
TuringSim::Machine Namespace Reference

The namespace that contains machines. To run them, see TuringSim::Runner. More...

Namespaces

 Amnesic
 Namespace of amnesic machine, that is machines without memory.
 
 FSM
 Namespace of finite-state machines, that is whose storage is a word.
 
 impl_details_
 A namespace to hide some implementation details.
 
 PDM
 Namespace of pushdown machines, that is whose storage is a word and a stack.
 
 Turing
 Namespace of Turing machines, that is whose storage is a tape.
 

Classes

class  AcceptingMachine
 Base class for accepting machines. More...
 
class  AcceptingMachine< TransitionType_, AcceptingStyle::Accepting >
 Specialization for simply accepting machines. More...
 
class  AcceptingMachine< TransitionType_, AcceptingStyle::Alternating >
 Specialization for alternating machines. More...
 
class  AcceptingMachine< TransitionType_, AcceptingStyle::NonAccepting >
 Specialization for non-accepting machines. More...
 
class  Machine
 Base class for machines. More...
 
class  Machine< TransitionType_, false, acceptingStyle, TransitionContainer_, InitialStateContainer_ >
 Base class for non deterministic machines. More...
 
class  Machine< TransitionType_, true, acceptingStyle, TransitionContainer_, InitialStateContainer_ >
 Base class for deterministic machines. More...
 
class  StateAcceptingMachine
 
class  StateAcceptingMachine< MachineType_, AcceptingStyle::Accepting >
 Implementation of acceptation-related functions for accepting machine. More...
 
class  StateAcceptingMachine< MachineType_, AcceptingStyle::Alternating >
 Implementation of acceptation-related functions for alternating machine. More...
 
class  StateAcceptingMachine< MachineType_, AcceptingStyle::NonAccepting >
 Implementation of acceptation-related functions for non-accepting machine. More...
 

Enumerations

enum  AcceptingStyle { AcceptingStyle::NonAccepting, AcceptingStyle::Accepting, AcceptingStyle::Alternating }
 Whether the machine is accepting, alternating or nothing. More...
 

Detailed Description

The namespace that contains machines. To run them, see TuringSim::Runner.

Enumeration Type Documentation

◆ AcceptingStyle

Whether the machine is accepting, alternating or nothing.

Enumerator
NonAccepting 

A computation machine that does not accept anything.

Accepting 

A machine that accepts a word iff one execution accept it.

Alternating 

An alternating machine.

Definition at line 11 of file acceptingMachine.h.