Meq

From Esolang
Jump to navigation Jump to search

Meq was created by Richard Sparrow (User:TheMeq) in April 2015.

Screenshot of the Meq IDE
Screenshot of the Meq IDE

Instructions

You have 1000 pointers that can be assigned a value. Loops cannot be nested within each other.

Instruction Description
> Increase pointer location by 1.
< Decrease pointer location by 1.
r Reset pointer location to 0.
t Set current pointer value to 0.
+ Increase value contained in current pointer by 1.
- Decrease value contained in current pointer by 1.
= Increase value contained in current pointer by 10.
_ Decrease value contained in current pointer by 10.
. Increase value contained in current pointer by 50.
, Decrease value contained in current pointer by 50.
: Increase value contained in current pointer by 100.
; Decrease value contained in current pointer by 100.
p Print out the ASCII code of the value in the current pointer.
g Print out the value in the current pointer.
q Set the first reserved variable to the value in the current pointer.
w Set the second reserved variable to the value in the current pointer.
z Set the first reserved variable to the value of the second reserved variable.
x Set the second reserved variable to the value of the first reserved variable.
a Add the value of the first reserved variable to the second reserved variable and put it in the current pointer.
s Subtract the value of the first reserved variable from the second reserved variable and put it in the current pointer.
d Multiply the values of the first reserved variable and the second reserved variable and put it in the current pointer.
w Divide the value of the first reserved variable into the second reserved variable and put it in the current pointer.
[ Start a loop, the number of loops is determined by the value in the previous pointer.
] End the loop.
@ Print out the Meq About screen.
! End of Program marker.

Hello World

.==++>:+>+>[:++++++++>]:=+>===++>.===+++++++>:=+>:=++++>:++++++++>:rp>p>>p>p>p>p>p>p>p>p>p!

External resources