Chops

From Esolang
Jump to navigation Jump to search

Chops is an esoteric language where it's instructions are variable, dependent on the previous ASCII character created by User:Buckets, created to fill the purpose of "What if I just made an esolang, so that It's hard enough to look like garbage, but easy to make a machine to randomly (With enough time) make a program?", so with that goal, User:Buckets Achieved their goal, and this is the product.

Variable Commands Instructions
Same as the previous Character +1
+1 of the previous Character Push the number of the next Character in ASCII
+3 of the previous Character pop the number of the next Character in ASCII
+4 of the previous Character Subtract the top two values on the stack, top-bottom.
-3 of the previous Character Pushes the next character on the top of the stack.
-4 of the previous Character Swaps the top two values on the stack.
/3 of the previous Character Print.

(But not the next character, the last data used or the newest popped data.(Also note that It does not automatically print in ASCII, that's why there's 2 pushes.))

/4 of the previous Character This instruction is a not gate for the top of the stack. (If the top of the stack is 1, then replace it with a 0, If the top of the stack is 0, replace it with a 1.)
*3 of the previous Character pop the number of the next Character in ASCII
*4 of the previous Character Add top two values.
+2 of the previous Character End program.
-1 of the previous Character Go to Line-The number of the next character.
-2 of the previous Character -1
*2 of the previous Character If = Next character, If true, go to Next *2, Else go to Next next *2.
/2 of the previous Character Input, Classed, Next character.
+5 of the previous Character Multiply top two values.
-5 of the previous Character Divide top two values. (Bottom/Top)
-6 of the previous Character Mod top two values. (Bottom/Top)
(Line feed) Set the number of the next character in ASCII

There are two 'classes' of stacks, a number stack where It stores a number, and an ASCII stack, where it stores an ASCII character.

Hello, World! Program:

(Line feed)
c`H H
c`e/ec`lDl$
c`oMo
c`,**~*
 ` 
c`WWUÿU
c`oMo
c`rVr
c`lDl
c`d,d
c`!c!#