iag supplies an unbounded number of memory cells initialized to zero. Each cell holds a 32-bit signed integer. There is also an accumulator register, which holds a 32-bit signed integer as well. Looping is performed with the
| command and an accompanying stack.
||Move memory pointer to the left.|
|=||Subtract contents of this memory cell from accumulator, storing the result in both this memory cell and the accumulator, then move memory pointer to the right.|
||If accumulator is|
|| call |
|| read a character from stdin to active memory cell (|
||print a character to stdout from active memory cell.|
|| set accumulator to |
|| return to the |
|Panu's interpreter also offers the following, presumably not part of the language proper:|
||Dump memory cells for debugging.|
||End the program.|
|| === =<=< <<<=== =<=< <= ==== |<|<|<|<|<|<|<| ds
Reads eight characters of input, storing them in reverse order in the first eight memory cells.
= || ==<<==== =<=< <= =<=< <<<<<=<==== | <= <<= <<== <<= <<== <<= |
Prints all characters 0 to 256 (starting with 1) endlessly.