Do you remember me?

From Esolang
Jump to navigation Jump to search

Do you remember me? or DyRM is an esolang created by User:Yayimhere, in exploration of Pushdown automata. It is based around the Looping counter program

Memory

The memory is made up of a stack, that can hold the symbol * and |. It can also remember its last state. On every iteration, the whole stack is printed top to bottom, and then a newline. The stack starts with a * on it.

Semantics

a DyRM program can do two things: check the top of the stack, and push its last state transition. Every command is done conditionally based of the top symbol of the stack, which is also popped on every iteration. The program loops forever. Only one command can be done per top symbol read. Every command is done wit this syntax:

x.y

The first is any single symbol from the stack alphabet. The second is also in this format, however multiple symbols allowed. It is interpreted as if x is equal to the top symbol of the stack, do command y. Else do not do the command. The commands are interpreted as:

  • *: push *.
  • |: push the last state transitions to the stack, with the leftmost symbol of the transition being the bottom pushed symbol.

State transitions are written as follows:

|old stack || new stack|

where each stack has its bottom symbol as its leftmost symbol. The space is not included in the push.

The single command may also have no second symbol, in that case it does nothing and functions as a pop.

Examples

a Looping counter:

*.*

See also