Deadfish with gotos and input

From Esolang
Jump to navigation Jump to search

made by Fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff (talk) 01:46, 3 September 2024 (UTC)

. jumps to instruction accumulator
, input
h halt
c output char

goto 0 if at 256

Programs

truth machine

,iiiis.          soh      ddddddddddddddddddddddddoiiiiiiiiiiiiiiiiiiiiiiii.

Interpreter

Written in Python.

def dwgai(program):
    accumulator = 0
    i = 0

    while i < len(program):
        if program[i] == "i":
            accumulator += 1
        elif program[i] == "d":
            accumulator -= 1
        elif program[i] == "s":
            accumulator *= accumulator
        elif program[i] == "o":
            print(accumulator)
        elif program[i] == ".":
            i = accumulator
        elif program[i] == ",":
            accumulator = int(input("Enter a non-negative integer: "))
            if accumulator < 0:
                accumulator = 0
        elif program[i] == "h":
            return
        elif program[i] == "c":
            print(end=chr(accumulator))
        else:
            print("\n")

        if accumulator == -1 or accumulator == 256:
            accumulator = 0

        i += 1
        if i == 256 and i < len(program):
            i = 0

See also