User:Elronnd/Fell

Fell is a new esolang I made up. It takes place on a grid, similarly to brainfuck, but unlike in brainfuck, the grid is 5-dimensional; it should be 11x11x11x11x11. Each command in Fell is an opcode, similar to binary, or assembly. Each opcode takes a certain number of arguments, but the number and order of the arguments doesn't always reflect what they do. It takes place in base 11, but instead of using digits, and  , it uses. Each cell holds 2 base-11 digits, and thus can store values from 0-120. For the purposes of this documentation, all opcodes will be presented both in base 10, and base 11.

Syntax and grammar

Any valid Fell program contains any number of lines of the following form, separated by a newline (ASCII 10):

opcode arguments (in varying numbers)

each argument should be a base 11 number of precisely 2 digits, unless it is prefixed with. The  prefix should be used to indicate that the value is a pointer and should be dereferenced. Thus, if the cell at  held the value , something like   might add   to   and store the result in. It might not, of course, depending on how ADD is defined. Cells can hold pointers, but since three cells are required to hold a single pointer, the following syntax is used:  would refer to the point. refers to the current cell pointed to. There are also various arithmetic operations that can be performed on cell pointers. The syntax of these is as follows: axis referred to, as a 1-digit number from  designating whether the jump is positive or negative, an op: = (add) or - (subtract), another 1-digit number representing the size of the jump. For example,  would refer to the current cell, +2 along the second axis.