TURING COMPLETE!

This commit is contained in:
2025-09-09 18:58:26 +01:00
parent b84f5f5e53
commit e440585f90
3 changed files with 106 additions and 5 deletions

89
examples/rule110.zorth Normal file
View File

@@ -0,0 +1,89 @@
(
rule110 celular automata - https://mathworld.wolfram.com/Rule110.html
proof of turing complentess of the language
)
: over swap dup rot rot ;
: rem over over / * - ;
: mod dup rot swap rem swap dup rot + swap rem ;
: generation
0
begin
dup 64 <
while
dup 8 * mem + 64 8 * +
swap
dup
dup 1+ 64 mod 8 * mem + @
over 8 * mem + @
rot 1- 64 mod 8 * mem + @
0 = if
0 = if
0 = if
( 0 0 0 )
32 display
swap dup 0 !
else
( 0 0 1 )
35 display
swap dup 1 !
fi
else
0 = if
( 0 1 0 )
35 display
swap dup 1 !
else
( 0 1 1 )
35 display
swap dup 1 !
fi
fi
else
0 = if
0 = if
( 1 0 0 )
32 display
swap dup 0 !
else
( 1 0 1 )
35 display
swap dup 1 !
fi
else
0 = if
( 1 1 0 )
35 display
swap dup 1 !
else
( 1 1 1 )
32 display
swap dup 0 !
fi
fi
fi
drop
1+
repeat
10 display
drop
0
begin
dup 64 <
while
dup 8 * dup mem 64 8 * + + @ mem rot + swap !
1+
repeat
drop
;
mem 32 8 * + 1 !
0
begin
dup 32 <
while
generation
1+
repeat