walls

From Esolang
Jump to navigation Jump to search
This article is not detailed enough and needs to be expanded. Please help us by adding some more information.

in walls you use a logic of a maze to run instructions

syntax

in walls there is places where numbers is stored. the program pointer itself has a stack. then the primary memory is a cell based strip

0: 0 is the path and is followed by the program pointer. if it splits the program halts
1: 1 is the walls. the program pointer can't go into walls
>: move the memory pointer to the right
<: move memory pointer to the left
number: if you put a number on the track then the program pointer will pick it up and store it in the stack for later use on the memory band. to use a 1 or a 0 you type a # in front of it
!: a key. you can name keys using only numbers. keys are used for ~. you put the number the key in front of the key itself
~: a door. you name doors with a number and the corresponding key(the door number is the key number which i placed in front of it. after the door has been opened the program pointer can pass through it like a 0. else it behaves like a 1.
o: a hole. add the number of the current key to the current memory cell.
/: print the current memory cell
": ascii variant of /
=: go left if the current memory cell is zero. else this operator behaves like 0