Code: Select all
@RULE UTMTCA_2
@TABLE
n_states:32
neighborhood:Moore
symmetries:none
var a0 = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31}
var a1 = a0
var a2 = a0
var a3 = a0
var a4 = a0
var a5 = a0
var a6 = a0
var a7 = a0
var sv = {19,20,21}
var sr = {4,5,6}
var sl = {9,10,11}
var sd = {7,8}
var g0 = {13,14,15,16,17}
var g1 = g0
var g2 = g0
var g3 = g0
# Classify returned value
0,19, 0, 0, 0, 0, 0,12, 0, 4
0,20, 0, 0, 0, 0, 0,12, 0, 5
0,21, 0, 0, 0, 0, 0,12, 0, 6
sr,18, 0, 0, 0, 0, 0,12, 0,sr
0, 0, 0, 0, 0,13, 0, 5,12, 5
0, 0, 0, 0, 0,13, 0, 6,12, 6
0, 0, 0, 0, 0,14, 0, 6,12, 6
0, 4, 0,13, 0, 0, 0, 0, 0,19
0, 5, 0,14, 0, 0, 0, 0, 0,20
0, 6, 0,15, 0, 0, 0, 0, 0,21
4,12, 0, 0,13, 0, 0, 0, 0,18
5,12, 0, 0,14, 0, 0, 0, 0,18
6,12, 0, 0,15, 0, 0, 0, 0,18
# Start to read
sv,18,g0, 0,g1,12,g2, 0,a0,28
28, 0,g0, 0,g1,12,g2, 0,a0, 0
12,28, 0,g0, 0, 0, 0,g1, 0, 0
0,a0,a1,a2,a3,g1,a4,28,a5,28
28,g0,a0, 0,g2,13, 0, 0, 0, 9
28,g0,a0, 0,g2,14, 0, 0, 0,10
28,g0,a0, 0,g2,15, 0, 0, 0,11
sl,g0,a0,28,16,g1, 0, 0, 0, 7
sl,g0,a0,28,17,g1, 0, 0, 0, 8
12, 0,sl,g0, 0, 0, 0,g1, 0, 0
0, 0,a0, 9,g0, 0, 0, 0, 0,19
0, 0,a0,10,g0, 0, 0, 0, 0,20
0, 0,a0,11,g0, 0, 0, 0, 0,21
0,sv,sd,g0, 0, 0, 0, 0, 0, 0
sv, 0,a0,sd,g0, 0, 0, 0, 0,sd
0, 0, 0,12,sv, 0, 0, 0, 0,sv
0,sv,12,sd, 0, 0, 0, 0, 0, 0
sv, 0, 0,12,sd, 0, 0, 0, 0,sd
# Read new state
28,a0,a1, 0,a2,g0,g1,sl,g2, 0
var gb = {16,17,24,27}
14,28, 0,a0, 0, 0, 0,gb,a1,24
15,28, 0,a0, 0, 0, 0,gb,a1,27
28,a0,a1, 0,a2,14,gb,a3,a4,20
28,a0,a1, 0,a2,15,gb,a3,a4,21
# Clean up markers
0, 0,a0, 0,g0,12,g1,28,a1, 5
0, 0,a0, 0,g0,12,g1, 5,a1, 5
12, 5, 0,g0, 0, 0, 0,a0,a1, 0
0, 0, 0, 0, 0,14, 0, 5,12, 0
0,a0,a1, 0,a2,g1,a3, 5,a4, 5
# Propagation into data indicator
14,a0,a1,a2,a3,20,a4,a5,a6,22
14,20,a0,a1,a2,a3,a4,a5,a6,22
14,a0,a1,a2,a3,21,a4,a5,a6,23
14,21,a0,a1,a2,a3,a4,a5,a6,23
15,a0,a1,a2,a3,20,a4,a5,a6,25
15,20,a0,a1,a2,a3,a4,a5,a6,25
15,a0,a1,a2,a3,21,a4,a5,a6,26
15,21,a0,a1,a2,a3,a4,a5,a6,26
# Propagation out data indicator
0,a0,a1,a2,a3,22,a4,a5,a6,20
0,22,a0,a1,a2,a3,a4,a5,a6,20
0,a0,a1,a2,a3,23,a4,a5,a6,21
0,23,a0,a1,a2,a3,a4,a5,a6,21
0,a0,a1,a2,a3,25,a4,a5,a6,20
0,25,a0,a1,a2,a3,a4,a5,a6,20
0,a0,a1,a2,a3,26,a4,a5,a6,21
0,26,a0,a1,a2,a3,a4,a5,a6,21
# New state info goes left
var cl = {20,21}
var cr = {10,11}
0, 0, 0, 0,20, 0,g0, 0, 0,10
0, 0, 0, 0,21, 0,g0, 0, 0,11
0, 0, 0, 0, 0,cl,cr, 0, 0, 0
0, 0, 0,12, 0,cl,cr, 0, 0, 0
cl, 0, 0, 0,20,18, 0,cr, 0,10
cl, 0, 0, 0,21,18, 0,cr, 0,11
# New state info goes down
0, 0, 0,cr, 0, 0, 0,12, 0,18
0, 0,10, 0, 0, 0, 0, 0,12,20
0, 0,11, 0, 0, 0, 0, 0,12,21
0, 0, 0,cr, 0, 0,cl,18, 0,18
0, 0,12,cr, 0, 0,cl,18, 0,18
0, 0,10, 0, 0, 0, 0,cl,18,20
0, 0,11, 0, 0, 0, 0,cl,18,21
# Check if it matches
var th = {22,23,24,25,26,27}
18,a0,a1,a2,a3,22, 0,a4,a5, 6
18,a0,a1,a2,a3,26, 0,a4,a5, 6
18,a0,a1,a2,a3,22,th, 6,a4, 6
18,a0,a1,a2,a3,26,th, 6,a4, 6
var th = {14,15,24,27}
0, 0, 0,g0, 0, 0,a0,th, 6,12
0, 0,g0, 0,g1, 0,th, 6,a0, 6
0,a0,a1, 0,a2,g0,a3, 6,a4, 6
# Tape operate
0,12, 0, 0, 0, 0,sd,19, 0, 4
0,12, 0, 0, 0, 0,sd,20, 0, 5
0,12, 0, 0, 0, 0,sd,21, 0, 6
0, 0, 0,12, 0,sv, 0, 0, 0, 0
sr,a0,a1,a2,a3,a4,a5,sd,a6,sd
0, 0, 0, 0, 0, 0, 0,sr,12,sr
0, 0, 0,12,sd, 0, 0, 0, 0, 6
6, 0, 0,12, 0, 0, 0, 0, 0,28
0,12, 0, 0, 0, 0, 0, 0,28,28
28,a0,a1,a2,a3,a4,a5,a6,a7, 0
0, 0,a0, 0, 0, 0, 0,28,a1,28
# Write and move
var pu = {29,30,31}
var mm = {0,1,2}
3,a0,a1, 0, 0, 4,sd, 0,a2,29
3,a0,a1, 0, 0, 5,sd, 0,a2,30
3,a0,a1, 0, 0, 6,sd, 0,a2,31
pu,a0,a1,a2,a3,a4,a5,a6,a7, 0
mm, 0, 0,a0, 0,29, 0,a1, 0, 0
mm, 0, 0,a0, 0,30, 0,a1, 0, 1
mm, 0, 0,a0, 0,31, 0,a1, 0, 2
0,a0,a1, 0, 0, 0, 8,pu,a2, 3
0,a0,a1,pu, 7, 0, 0, 0,a2, 3
# Read
0,a0, 0, 3, 0,28, 0, 0,a1, 9
0,a0, 1, 3, 0,28, 0, 0,a1,10
0,a0, 2, 3, 0,28, 0, 0,a1,11
0, 0, 9, 0, 0, 0, 0, 0,12,19
0, 0, 0, 9, 0, 0, 0,12, 0,18
# Default propagation and disappear
var normaldisappear = {18,sr,sd,sl}
0,sv,a0,a1,a2,a3,a4,a5,a6,sv
0,a0,a1,a2,a3,sv,a4,a5,a6,sv
0,a0,a1,a2,a3, 0,a4,sr, 0,sr
0,a0,a1,sl,a2,a3,a4,a5,a6,sl
sl,a0,a1,sd,a2,a3,a4,a5,a6,sd
sv,a0,a1,a2,a3,sd,a4,a5,a6,sd
sv,a0,a1,a2,a3,a4,a5,a6,a7,18
22,a0,a1,a2,a3,a4,a5,a6,a7,24
23,a0,a1,a2,a3,a4,a5,a6,a7,24
24,a0,a1,a2,a3,a4,a5,a6,a7,14
25,a0,a1,a2,a3,a4,a5,a6,a7,27
26,a0,a1,a2,a3,a4,a5,a6,a7,27
27,a0,a1,a2,a3,a4,a5,a6,a7,15
normaldisappear,a0,a1,a2,a3,a4,a5,a6,a7,0
@COLORS
0 0 255 0 0 255
0 0 0 0
1 255 0 0
2 0 255 0
3 255 255 255
12 255 255 0
13 0 255 0
14 0 255 0
15 0 255 0
16 0 255 0
17 0 255 0
29 255 255 255
30 255 255 255
31 255 255 255
@ICONS
XPM
/* width height num_colors chars_per_pixel */
"7 217 2 1"
/* colors */
". c #000000"
"B c #FFFFFF"
/* icon for state 1 */
"......."
"...B..."
"..B.B.."
"..B.B.."
"..B.B.."
"...B..."
"......."
/* icon for state 2 */
"......."
"...B..."
"..BB..."
"...B..."
"...B..."
"..BBB.."
"......."
/* icon for state 3 */
"......."
"...B..."
"..BBB.."
".B.B.B."
"...B..."
"...B..."
"......."
/* icon for state 4 */
"......."
"......."
"......."
".....BB"
".BBB..."
"......."
"......."
/* icon for state 5 */
"......."
"..B...."
".B.B..."
".B.B.BB"
".B.B..."
"..B...."
"......."
/* icon for state 6 */
"......."
"..B...."
".BB...."
"..B..BB"
"..B...."
".BBB..."
"......."
/* icon for state 7 */
"......."
"....B.."
"...B..."
"..B...."
"...B..."
"....B.."
"......."
/* icon for state 8 */
"......."
"..B...."
"...B..."
"....B.."
"...B..."
"..B...."
"......."
/* icon for state 9 */
"......."
"......."
"......."
"BB....."
"...BBB."
"......."
"......."
/* icon for state 10 */
"......."
"....B.."
"...B.B."
"BB.B.B."
"...B.B."
"....B.."
"......."
/* icon for state 11 */
"......."
"....B.."
"...BB.."
"BB..B.."
"....B.."
"...BBB."
"......."
/* icon for state 12 */
"BBBBBBB"
"B.....B"
"B.BBB.B"
"B.BBB.B"
"B.BBB.B"
"B.....B"
"BBBBBBB"
/* icon for state 13 */
"BBBBBBB"
"BBBBBBB"
"BBBBBBB"
"BB...BB"
"BBBBBBB"
"BBBBBBB"
"BBBBBBB"
/* icon for state 14 */
"BBBBBBB"
"BBB.BBB"
"BB.B.BB"
"BB.B.BB"
"BB.B.BB"
"BBB.BBB"
"BBBBBBB"
/* icon for state 15 */
"BBBBBBB"
"BBB.BBB"
"BB..BBB"
"BBB.BBB"
"BBB.BBB"
"BB...BB"
"BBBBBBB"
/* icon for state 16 */
"BBBBBBB"
"BBBB.BB"
"BBB.BBB"
"BB.BBBB"
"BBB.BBB"
"BBBB.BB"
"BBBBBBB"
/* icon for state 17 */
"BBBBBBB"
"BB.BBBB"
"BBB.BBB"
"BBBB.BB"
"BBB.BBB"
"BB.BBBB"
"BBBBBBB"
/* icon for state 18 */
"......."
"...B..."
"......."
".B...B."
"......."
"...B..."
"......."
/* icon for state 19 */
".B....."
".B....."
".B....."
".B....."
".B.BBB."
".B....."
".B....."
/* icon for state 20 */
".B....."
".B..B.."
".B.B.B."
".B.B.B."
".B.B.B."
".B..B.."
".B....."
/* icon for state 21 */
".B....."
".B..B.."
".B.BB.."
".B..B.."
".B..B.."
".B.BBB."
".B....."
/* icon for state 22 */
"B.BBBBB"
"B.BB.BB"
"B.B.B.B"
"B.BB.BB"
"BBBBBBB"
"BB.B.BB"
"BBBBBBB"
/* icon for state 23 */
"B.BBBBB"
"B.BB.BB"
"B.BB.BB"
"B.BB.BB"
"BBBBBBB"
"BB.B.BB"
"BBBBBBB"
/* icon for state 24 */
"B.BBBBB"
"B.BBBBB"
"B.B.B.B"
"B.BBBBB"
"BBBBBBB"
"BB.B.BB"
"BBBBBBB"
/* icon for state 25 */
"B.BBBBB"
"B.BB.BB"
"B.B.B.B"
"B.BB.BB"
"BBBBBBB"
"B.B.B.B"
"BBBBBBB"
/* icon for state 26 */
"B.BBBBB"
"B.BB.BB"
"B.BB.BB"
"B.BB.BB"
"BBBBBBB"
"B.B.B.B"
"BBBBBBB"
/* icon for state 27 */
"B.BBBBB"
"B.BBBBB"
"B.B.B.B"
"B.BBBBB"
"BBBBBBB"
"B.B.B.B"
"BBBBBBB"
/* icon for state 28 */
"......."
".BB...."
"...B..."
"..B..BB"
"......."
"..B...."
"......."
/* icon for state 29 */
"......."
"......."
"..BBB.."
"......."
"......."
"...B..."
"......."
/* icon for state 30 */
"......."
"...B..."
"..B.B.."
"...B..."
"......."
"...B..."
"......."
/* icon for state 31 */
"......."
"...B..."
"...B..."
"...B..."
"......."
"...B..."
"......."
state name is a binary string, and state names in the same TM should have same length(any, but at least 2).