ABPLWNL but with stack
Jump to navigation
Jump to search
Designed by | Mario0Fan |
---|---|
Appeared in | 2022 |
Dimensions | one-dimensional |
Computational class | Unknown |
Reference implementation | Interpreter |
Influenced by | ABPLWNL |
File extension(s) | {{{files}}} |
- idont need loops but I need a stack lol - Mario0Fan 2022
A Bad Programming Language With No Loops but with stack is a stack-based esolang made by User:Mario0Fan
This language is based off ABPLWNL.
If you don't know what a stack is, go check it out here
Commands
If you want to know how this language works, go here.
Command | Description |
---|---|
1 | Increments A by 1. |
2 | Decrements A by 1 if its not 0 |
3 | Swaps A and B. |
4 | If B is not 0, B is decremented by 1 and A is incremented by 1. |
5 | Adds the value of B to A and sets B to 0. |
6 | Prints the value of B |
7 | Prints an unicode character corresponding to the unicode value of B |
8 | Sets A to 0 |
9 | Sets B to an integer the user has typed in. |
a | Skips the next command if A is equal to 0 |
t | Pushes A onto the stack |
u | Sets A to the top value on the stack, then pops the top value. |
e | Exits the program |
I didn't know what shortcut to give to these commands, so they're numbers and random letters.
Errors
The python interpreter has 2 errors:
ERROR 1: Unknown command.
and
ERROR 2: Stack Underflow
Examples
there's currently only 1 example ;-;
definitely-not-a-truth-machine:)
93t3ua6e
If a 0 is inputted, the program ends.
If a 1 is inputted, the program prints one 1 and ends.
How it works
It might just seem like gibberish, but its actually pretty simple
Command | How it works |
---|---|
9 | The user is asked for input, then it stores the input into B |
3 | It moves the input into A, so then it can be pushed into the stack. |
t | It pushes A (which stores the input) onto the stack, so it can be cloned to B. |
3 | Moves A (the input) into B. |
u | Pops the top value of the stack and puts it in A. Now both A and B have the input |
a | Skips the next command if A (the input that was just cloned) is 0 |
6 | Prints the value of B (the input that was just cloned). Of course, this is skipped if A is 0 |
e | Ends this program |
im bad at explaining