TLIJMMWTRAMCBICHWTPITCSIBCTII
Jump to navigation
Jump to search
TLIJMMWTRAMCBICHWTPITCSIBCTII (This Language Is Just Minsky Machine With Twenty Registers And More Commands, But I Choose Hard Way To Prove It Turing Complete So I Wrote Bitwise Cyclic Tag Interpreter In It) is an esolang by User:ChuckEsoteric08.
Specification
TLIJMMWTRAMCBICHWTPITCSIBCTII has 20 registers. Indexes starts at zero.
inc(x,y) - increment register x by y dec(x,y,z) - if register x is bigger than y decrement it by y, else goto z mul(x,y) - multiply register x by y div(x,y,z) - if register x is divisible by y, then divide it by y, else goto z inp(x) - set register x to user input. Unindentified behavior if input is not an integer out(x) - output register x's current value copy(x,y) - copy value of register x to register y
BCT interpreter itself
Program is inputed first, then data. They are encoded as follows: string is reversed and 1 is appended before the string.
inc(5,1) inp(0) copy(0,1) inp(2) div(0,10,7) mul(0,10) dec(4,1,8) inc(3,1) out(2) dec(0,2,17) inc(0,2) div(0,10,21) div(2,10,14) dec(4,1,8) dec(2,1,63) div(2,10,63) dec(4,1,8) dec(2,2,63) inc(2,2) copy(1,0) dec(4,1,8) dec(0,2,60) inc(0,1) div(0,10,63) div(0,10,37) dec(2,2,35) inc(2,2) div(2,10,30) mul(5,10) dec(4,1,25) dec(2,1,63) div(2,10,63) mul(5,10) inc(5,1) dec(4,1,25) mul(2,10) dec(4,1,50) dec(0,1,63) dec(2,2,48) inc(2,2) div(2,10,43) mul(5,10) dec(4,1,25) dec(2,1,63) div(2,10,63) mul(5,10) inc(5,1) dec(4,1,38) mul(2,10) inc(2,1) dec(5,2,8) inc(5,2) div(5,10,55) mul(2,10) dec(4,1,50) dec(5,1,63) div(5,10,63) mul(2,10) inc(2,1) dec(4,1,50) dec(3,1,25) inc(3,1) dec(4,1,38)
Examples
Cat Program
An infinitely repeating numeric cat program shall be adduced:
inp(0) out(0) dec(1,0,0)
Truth-Machine
The following program furnishes a truth-machine implementation:
inp(0) dec(0,0,4) out(0) dec(0,1,2) out(0)
Interpreter
- Common Lisp implementation of the TLIJMMWTRAMCBICHWTPITCSIBCTII programming language.