Odasjoi
Jump to navigation
Jump to search
Odasjoi (/əʊˈdæsdʒɔɪ/) is an esolang invented by User:None1. Its name is chosen by smashing random keys, its commands are, too.
Commands
Commands must be separated by line feeds and are case insensitive.
fowdif Increase the accumulator wekeww Decrease the accumulator woiejd Input the accumulator (as decimal) doqije Output the accumulator (as decimal) iwejdo If the accumulator is 0, halt oweijw Execute the remaining commands infinitely
The accumulator can store signed decimal integers.
Examples
Truth Machine
woiejd doqije iwejdo oweijw doqije
Decimal cat
oweijw woiejd doqije
XKCD Random Number
fowdif fowdif fowdif fowdif doqije
Infinite loop
oweijw
Python interpreter
By User:None1, enter stop
to stop reading the program:
import sys
c=[]
while 1:
d=input()
if d=='stop':
break
c.append(d)
def odasjoi(c,x):
while c:
k=c.pop(0)
if k=='fowdif':
x+=1
elif k=='wekeww':
x-=1
elif k=='woiejd':
x=int(input())
elif k=='doqije':
print(x)
elif k=='iwejdo':
if not x:
sys.exit(0)
elif k=='oweijw':
while 1:
odasjoi(c[:],x)
odasjoi(c,0)
c=[]
while 1:
d=input()
if d=='stop':
break
c.append(d)
def odasjoi(c,x):
while c:
k=c.pop(0)
if k=='fowdif':
x+=1
elif k=='wekeww':
x-=1
elif k=='woiejd':
x=int(input())
elif k=='doqije':
print(x)
elif k=='iwejdo':
if not x:
sys.exit(0)
elif k=='oweijw':
while 1:
odasjoi(c[:],x)
odasjoi(c,0)