136 lines
1.6 KiB
Plaintext
136 lines
1.6 KiB
Plaintext
//valid,00000000000000110000000000000000
|
|
//00000000000001110000000000000000
|
|
//00000000000011010000000000000000
|
|
//00000000000111110000000000000000
|
|
//00000000001100010000000000000000
|
|
//00000000011100110000000000000000
|
|
//00000000110101110000000000000000
|
|
//00000001111111010000000000000000
|
|
//00000011000001110000000000000000
|
|
//00000111000011010000000000000000
|
|
//00001101000111110000000000000000
|
|
//:END:
|
|
function bool bool bool => bool rule110
|
|
{
|
|
if
|
|
{
|
|
if
|
|
{
|
|
if
|
|
{
|
|
false
|
|
}
|
|
else
|
|
{
|
|
true
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if
|
|
{
|
|
deq true
|
|
}
|
|
}
|
|
}
|
|
|
|
arr val { bool 34 }
|
|
|
|
33 true val.write
|
|
printArrays
|
|
|
|
function int => bool int check
|
|
{
|
|
0 dup 1 > -
|
|
}
|
|
|
|
function => fullApply
|
|
{
|
|
// 0 b c
|
|
0 1 false val.read val.read
|
|
0 rule110 val2.write
|
|
val.length 1 - 1 dup - req
|
|
val.read val.read false
|
|
rule110 val.length 1
|
|
req - req val2.write
|
|
true 1
|
|
while
|
|
{
|
|
// i-1 i
|
|
1 dup - req
|
|
// i a | i a i | a i b | i b a i 1
|
|
val.read dup val.read req dup 1
|
|
// i a b i+1 | i+1 i a b | i a b c
|
|
req swp + req req req val.read
|
|
// i d
|
|
req rule110
|
|
// i d i | i
|
|
dup val2.write
|
|
checkUp-1
|
|
}
|
|
deq
|
|
}
|
|
|
|
function int => bool int checkUp
|
|
{
|
|
// i+1 l i+1
|
|
1 + val.length dup < req
|
|
}
|
|
|
|
function int => bool int checkUp-1
|
|
{
|
|
// i+1 l 1 | l 1 i+1 | i+1 l-1 i+1
|
|
1 + val.length 1 req - dup
|
|
// i+1 b
|
|
< req
|
|
}
|
|
|
|
arr val2 { bool 34 }
|
|
|
|
function => copyArrays
|
|
{
|
|
true 0
|
|
while
|
|
{
|
|
dup val2.read
|
|
dup val.write
|
|
checkUp
|
|
}
|
|
deq
|
|
}
|
|
|
|
function bool => str boolToSym
|
|
{
|
|
if
|
|
{
|
|
"#"
|
|
}
|
|
else
|
|
{
|
|
"-"
|
|
}
|
|
}
|
|
|
|
function => printArrays
|
|
{
|
|
true 0
|
|
while
|
|
{
|
|
dup val.read req boolToSym req print
|
|
checkUp
|
|
}
|
|
deq
|
|
"" println
|
|
}
|
|
|
|
true 33
|
|
while
|
|
{
|
|
fullApply
|
|
copyArrays
|
|
printArrays
|
|
check
|
|
}
|
|
deq
|