Alphabet Stew
Jump to navigation
Jump to search
Brainfuck derivative using only letters (a – z) Created by User:DMC
Concept
- A stack based esoteric programming language with exactly 26 commands
- Each command is represented by a single character [a - z]
- Numbers [0 - 9] are not used
- Any character not within the set [a-z] is ignored
- whitespace may be used for clarity
Description
- an infinite array of cells
- all memory is initialized to zero
- commands that require two values to be pushed will pop two values and push the result onto the stack
- commands that operate on one cell do not use the stack
- '!' diagnostic command to print out memory cells up to highest value of the data pointer, does not have to be implemented
- no effort was made to assign commands to any particular letter
| Instruction | Operation | Explanation |
|---|---|---|
| a | shift right | current memory |
| b | . |
output ascii |
| c | peek | top of stack |
| d | < |
p -= 1, p<0 is an error |
| e | + |
increment memory |
| f | jump left | program counter -= current memory |
| g | add | push two |
| h | jump right | program counter += current memory |
| i | ] |
close loop |
| j | clear stack | top of stack = zero |
| k | xor | push two |
| l | pop | into current memory |
| m | shift left | current memory |
| n | halt | program stop |
| o | push | from current memory |
| p | and | push two |
| q | or | push two |
| r | input decimal | current cell = input mod 256 |
| s | > |
p += 1 |
| t | [ |
open loop |
| u | - |
decrement memory |
| v | output decimal | three digit zero filled |
| w | exchange | top two values on the stack |
| x | subtract | push two |
| y | not | (p) = not(p) |
| z | , |
input one keypress |
Examples
Hello, World!\n
oemmemosemmmmmeoooog gseogcosemmmogscosee emogdeeeossemmememmm uosemmmmmosemmememmo ddddouuuoouuuuuuuoss sosogluuuuoltbli!
Fibonacci
First 14 values before it overflows 8 bits
emmmmuuussemmemdvsbdoeodtscvsbdgowdui!
Truth-machine
rtsetviiv
External resources
- Alphabet Stew – Interpreter written in Python 3