summaryrefslogtreecommitdiff
path: root/progs
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2007-11-22 23:54:59 +0000
committerDimitri Sokolyuk <demon@dim13.org>2007-11-22 23:54:59 +0000
commitb550319f4cf2d37b3133aff724fa7cc3057e5bc6 (patch)
treefa5c49550deea268374ed2ad6789fab1aeb0a41f /progs
Turing Machine
Diffstat (limited to 'progs')
-rw-r--r--progs/add.tm25
-rw-r--r--progs/add00.tm40
-rw-r--r--progs/bb-brady.tm8
-rw-r--r--progs/bb-lin-rado-2.tm8
-rw-r--r--progs/bb-lin-rado.tm8
-rw-r--r--progs/bb-rado.tm6
-rw-r--r--progs/bb6.tm14
-rw-r--r--progs/bbeaver.tm30
-rw-r--r--progs/bbeaver2.tm7
-rw-r--r--progs/beaver.tm7
-rw-r--r--progs/beaver2.tm11
-rw-r--r--progs/beaver_1.tm7
-rw-r--r--progs/bincounter.tm11
-rw-r--r--progs/clean.tm12
-rw-r--r--progs/copy.tm12
-rw-r--r--progs/count.tm12
-rw-r--r--progs/deccounter.tm28
-rw-r--r--progs/first.tm5
-rw-r--r--progs/hexcounter.tm40
-rw-r--r--progs/inverse.tm5
-rw-r--r--progs/move.tm7
-rw-r--r--progs/palindrome.tm33
22 files changed, 336 insertions, 0 deletions
diff --git a/progs/add.tm b/progs/add.tm
new file mode 100644
index 0000000..6083247
--- /dev/null
+++ b/progs/add.tm
@@ -0,0 +1,25 @@
+!1399
+%A H
+A00RA
+A11RA
+A22RA
+A33RA
+A44RA
+A55RA
+A66RA
+A77RA
+A88RA
+A99RA
+A99RA
+A LB
+B01NH
+B12NH
+B23NH
+B34NH
+B45NH
+B56NH
+B67NH
+B78NH
+B89NH
+B90LB
+B 1NH
diff --git a/progs/add00.tm b/progs/add00.tm
new file mode 100644
index 0000000..a1153b4
--- /dev/null
+++ b/progs/add00.tm
@@ -0,0 +1,40 @@
+!10011+10101
+#101000
+%I_H
+I__<I
+I11>I
+I00>I
+I++<D
+D1W>M
+D0Z>M
+D_Z>M
+M00>M
+M11>M
+MWW>M
+MZZ>M
+M++>M
+M__<N
+N1_<1
+N0_<0
+N+_<C
+100<1
+111<1
+1++<1
+1W0<J
+1Z1<D
+J1Z<Y
+J0W>M
+J_W>M
+011<0
+000<0
+0++<0
+0W1<D
+0Z0<D
+Y10<Y
+Y01>M
+Y_1>M
+C00<C
+C11<C
+CZ0<C
+CW1<C
+C__NH
diff --git a/progs/bb-brady.tm b/progs/bb-brady.tm
new file mode 100644
index 0000000..ad66d18
--- /dev/null
+++ b/progs/bb-brady.tm
@@ -0,0 +1,8 @@
+# Brady (1988) and Michel (2004)
+%A0H
+A01RB
+A12LB
+A21RH
+B02LA
+B12RB
+B21LB
diff --git a/progs/bb-lin-rado-2.tm b/progs/bb-lin-rado-2.tm
new file mode 100644
index 0000000..45a2d25
--- /dev/null
+++ b/progs/bb-lin-rado-2.tm
@@ -0,0 +1,8 @@
+# Lin and Rado (1965)
+%A0H
+A01RB
+A11RH
+B00RC
+B11RB
+C01LC
+C11LA
diff --git a/progs/bb-lin-rado.tm b/progs/bb-lin-rado.tm
new file mode 100644
index 0000000..88f7fc0
--- /dev/null
+++ b/progs/bb-lin-rado.tm
@@ -0,0 +1,8 @@
+# Lin and Rado (1965)
+%A0H
+A01RB
+A11RH
+B01LB
+B10RC
+C01LC
+C11LA
diff --git a/progs/bb-rado.tm b/progs/bb-rado.tm
new file mode 100644
index 0000000..c1481d3
--- /dev/null
+++ b/progs/bb-rado.tm
@@ -0,0 +1,6 @@
+# Rado (1962) Besy Beaver
+%A0H
+A01RB
+A11LB
+B01LA
+B11RH
diff --git a/progs/bb6.tm b/progs/bb6.tm
new file mode 100644
index 0000000..2df5c5c
--- /dev/null
+++ b/progs/bb6.tm
@@ -0,0 +1,14 @@
+# 6-State Busy Beaver
+%1 h
+1 1<2
+111<1
+2 1>3
+211>2
+3 >6
+311>4
+4 1<1
+41 >5
+5 <1
+511>3
+6 1<5
+611<h
diff --git a/progs/bbeaver.tm b/progs/bbeaver.tm
new file mode 100644
index 0000000..60db8ee
--- /dev/null
+++ b/progs/bbeaver.tm
@@ -0,0 +1,30 @@
+# old read new write move
+# +---+--------------------+
+# | A | 0 B 1 R |
+# | | 1 C 1 L |
+# +---+--------------------+
+# | B | 0 A 0 L |
+# | | 1 D 0 L |
+# +---+--------------------+
+# | C | 0 A 1 L |
+# | | 1 H 1 L |
+# +---+--------------------+
+# | D | 0 B 1 L |
+# | | 1 E 1 R |
+# +---+--------------------+
+# | E | 0 D 0 R |
+# | | 1 B 0 R |
+# +---+--------------------+
+
+%a h
+
+a *rb
+a**lc
+b la
+b* ld
+c *la
+c**lh
+d *lb
+d**re
+e rd
+e* rb
diff --git a/progs/bbeaver2.tm b/progs/bbeaver2.tm
new file mode 100644
index 0000000..e82412b
--- /dev/null
+++ b/progs/bbeaver2.tm
@@ -0,0 +1,7 @@
+%A H
+A *RB
+A**LC
+B *LA
+B**RB
+C *LB
+C**NH
diff --git a/progs/beaver.tm b/progs/beaver.tm
new file mode 100644
index 0000000..8b258de
--- /dev/null
+++ b/progs/beaver.tm
@@ -0,0 +1,7 @@
+%A0H
+A01RB
+A11LC
+B01LA
+B11RB
+C01LB
+C11NH
diff --git a/progs/beaver2.tm b/progs/beaver2.tm
new file mode 100644
index 0000000..3a63a23
--- /dev/null
+++ b/progs/beaver2.tm
@@ -0,0 +1,11 @@
+#initia string
+!1
+# init state, blank, halt state
+%A0H
+# state, scan, print, move, state
+A01RB
+A11LC
+B01LA
+B11RB
+C01LB
+C11NH
diff --git a/progs/beaver_1.tm b/progs/beaver_1.tm
new file mode 100644
index 0000000..cdb610d
--- /dev/null
+++ b/progs/beaver_1.tm
@@ -0,0 +1,7 @@
+%A H
+A #>B
+A##<C
+B #<A
+B##>B
+C #<B
+C## H
diff --git a/progs/bincounter.tm b/progs/bincounter.tm
new file mode 100644
index 0000000..7e75b80
--- /dev/null
+++ b/progs/bincounter.tm
@@ -0,0 +1,11 @@
+# binar counter
+# never stops
+
+%a h
+
+a 1rb
+a01rb
+a10la
+b11rb
+b00rb
+b la
diff --git a/progs/clean.tm b/progs/clean.tm
new file mode 100644
index 0000000..6bd6406
--- /dev/null
+++ b/progs/clean.tm
@@ -0,0 +1,12 @@
+!aaaaa aaa
+%0 6
+0a r1
+1aar1
+1 ar2
+2 l3
+3aal3
+3 r0
+2aal4
+4a l5
+5aal5
+5 an6
diff --git a/progs/copy.tm b/progs/copy.tm
new file mode 100644
index 0000000..7438ac4
--- /dev/null
+++ b/progs/copy.tm
@@ -0,0 +1,12 @@
+!aaaa
+%a h
+1 nh
+1a r2
+2 r3
+2aar2
+3 al4
+3aar3
+4 l5
+4aal4
+5 ar1
+5aal5
diff --git a/progs/count.tm b/progs/count.tm
new file mode 100644
index 0000000..3a61acb
--- /dev/null
+++ b/progs/count.tm
@@ -0,0 +1,12 @@
+#http://www.maa.org/editorial/mathgames/mathgames_06_07_04.html
+%a h
+a 1lb
+b 1lc
+c 1ld
+d 1ra
+e 1lh
+a11rc
+b11lb
+c1 re
+d11rd
+e1 ra
diff --git a/progs/deccounter.tm b/progs/deccounter.tm
new file mode 100644
index 0000000..bdb66f9
--- /dev/null
+++ b/progs/deccounter.tm
@@ -0,0 +1,28 @@
+# decimal counter
+# never stops
+
+%a h
+
+a 1rb
+a01rb
+a12rb
+a23rb
+a34rb
+a45rb
+a56rb
+a67rb
+a78rb
+a89rb
+a90la
+
+b00rb
+b11rb
+b22rb
+b33rb
+b44rb
+b55rb
+b66rb
+b77rb
+b88rb
+b99rb
+b la
diff --git a/progs/first.tm b/progs/first.tm
new file mode 100644
index 0000000..ec04da5
--- /dev/null
+++ b/progs/first.tm
@@ -0,0 +1,5 @@
+%b h
+b 0rc
+c re
+e 1rf
+f rb
diff --git a/progs/hexcounter.tm b/progs/hexcounter.tm
new file mode 100644
index 0000000..a8a43ff
--- /dev/null
+++ b/progs/hexcounter.tm
@@ -0,0 +1,40 @@
+# hex counter
+# never stops
+
+%a h
+
+a 1rb
+a01rb
+a12rb
+a23rb
+a34rb
+a45rb
+a56rb
+a67rb
+a78rb
+a89rb
+a9Arb
+aABrb
+aBCrb
+aCDrb
+aDErb
+aEFrb
+aF0la
+
+b00rb
+b11rb
+b22rb
+b33rb
+b44rb
+b55rb
+b66rb
+b77rb
+b88rb
+b99rb
+bAArb
+bBBrb
+bCCrb
+bDDrb
+bEErb
+bFFrb
+b la
diff --git a/progs/inverse.tm b/progs/inverse.tm
new file mode 100644
index 0000000..4233fcd
--- /dev/null
+++ b/progs/inverse.tm
@@ -0,0 +1,5 @@
+!11101101
+%0 1
+010r0
+001r0
+0 n1
diff --git a/progs/move.tm b/progs/move.tm
new file mode 100644
index 0000000..66abb9a
--- /dev/null
+++ b/progs/move.tm
@@ -0,0 +1,7 @@
+!aaaaa
+%a h
+aaara
+a alb
+baalb
+b rc
+ca ra
diff --git a/progs/palindrome.tm b/progs/palindrome.tm
new file mode 100644
index 0000000..55c77dd
--- /dev/null
+++ b/progs/palindrome.tm
@@ -0,0 +1,33 @@
+! BABBBAABBBAB
+%1 H
+1 #>2
+2A >3
+2B >4
+2 <7
+3AA>3
+3BB>3
+3 <5
+4AA>4
+4BB>4
+4 <6
+5A <B
+5B <C
+5 <7
+6A <C
+6B <B
+6 <7
+7 <7
+7# >8
+8 Y>9
+9 E>A
+A S>H
+BAA<B
+BBB<B
+B >2
+CA <C
+CB <C
+C <C
+C# >D
+D N>E
+E O>H
+