Odasjoi

From Esolang
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)