Skip to content

Turing Machine emulator for Linux-based operation systems

Notifications You must be signed in to change notification settings

noasck/tme_linux

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Read Me

Installation

  1. Unpack mymtem.zip
  2. Make execcutable sudo chmod u+x mymtem
  3. Launch ./mymtem

Basic Usage

; This example program checks if the input string is a binary palindrome.
; Input: a string of 0's and 1's, eg '1001001'


; Machine starts in state 0.

; State 0: read the leftmost symbol
0 0 _ r 1o
0 1 _ r 1i
0 _ _ * accept     ; Empty input

; State 1o, 1i: find the rightmost symbol
1o _ _ l 2o
1o * * r 1o

1i _ _ l 2i
1i * * r 1i

; State 2o, 2i: check if the rightmost symbol matches the most recently read left-hand symbol
2o 0 _ l 3
2o _ _ * accept
2o * * * reject

2i 1 _ l 3
2i _ _ * accept
2i * * * reject

; State 3, 4: return to left end of remaining input
3 _ _ * accept
3 * * l 4
4 * * l 4
4 _ _ r 0  ; Back to the beginning

accept * : r accept2
accept2 * ) * halt-accept

reject _ : r reject2
reject * _ l reject
reject2 * ( * halt-reject

syntax: http://morphett.info/turing/turing.html. all: necessary notes are given in user interface

Auto-generating graphs and tables

Available by manual using core.py with packages like:

  • pandas;
  • graphviz;

Passing instructions into command variable.

About

Turing Machine emulator for Linux-based operation systems

Resources

Code of conduct

Stars

Watchers

Forks

Languages