import copy
class LineError(Exception):
    pass
def linegraming(code):
    A = 0
    T = 0
    s = 0
    M = 0
    LinegRAming_Save_Engine = []
    loop = [0,0,0]
    Fs = 0
    funcs = [
        lambda x: x + 1,
        lambda x: x - 1,
        lambda x: x * 2,
        lambda x: x // 2,
    ]
    Relise = []
    FN1 = 0
    FN2 = 0
    FN3 = 0
    types = [[0]]
    x = 0
    y = 0
    v = 0
    w = 0
    while A < len(code):
        if code[A] == "-":
            if Fs == 1:
                s = (s+1) % 34
        elif code[A] == "_":
            if Fs == 0:
                Fs = 1
                s = 0
            else:
                Fs = 0
                if s == 0:
                    T += 1
                elif s == 1:
                    T -= 1
                elif s == 2:
                    T *= 2
                elif s == 3:
                    T = T // 2
                elif s == 4:
                    M = T
                elif s == 5:
                    T = M
                elif s == 6:
                    T = 0
                elif s == 7:
                    M = 0
                elif s == 8:
                    print(chr(T%256),end="")
                elif s == 9:
                    print(chr(M%256),end="")
                elif s == 10:
                    loop[0] = T
                elif s == 11:
                    loop[0] = M
                elif s == 12:
                    print(T)
                elif s == 13:
                    print(M)
                elif s == 14:
                    loop[0] += 1
                elif s == 15:
                    loop[0] -= 1
                elif s == 16:
                    x += 1
                    if x >= len(types[y]):
                        types[y].append(0)
                elif s == 17:
                    if x > 0:
                        x -= 1
                    else:
                        raise LineError(f"エラー1:そっちには行けないよ! (ラインエンジンポイントのx座標={x})")
                elif s == 18:
                    y += 1
                    if y >= len(types):
                         types.append([0] * len(types[0]))
                elif s == 19:
                    if y > 0:
                        y -= 1
                    else:
                        raise LineError(f"エラー2:そっちには行けないよ! (ラインエンジンポイントのy座標={y})")
                elif s == 20:
                    types[y][x] = M
                elif s == 21:
                    M = types[y][x]
                elif s == 22:
                    v = x
                    w = y
                elif s == 23:
                    x = v
                    y = w
                elif s == 24:
                    LinegRAming_Save_Engine.append(copy.deepcopy(types))
                elif s == 25:
                    if LinegRAming_Save_Engine:
                        LinegRAming_Save_Engine.pop()
                    else:
                        raise LineError("エラー3:ない物は消せないよ!")
                elif s == 26:
                    FN2 = (FN2+1) % len(funcs)
                elif s == 27:
                    FN3 = (FN3+1) % len(Relise)
                elif s == 28:
                    Relise.append(funcs[FN2])
                elif s == 29:
                    if Relise:
                        Relise.pop()
                    else:
                        raise LineError("エラー4:ない物は消せないよ!")
                elif s == 30:
                    LinegRAming_Save_Engine[FN1] = types
                elif s == 31:
                    types = LinegRAming_Save_Engine[FN1]
                elif s == 32:
                    for name in range(len(Relise)-1):
                        FN1 = Relise[len(Relise)-(name+1)](FN1)
                elif s == 34:
                    Relise = []
                
                    
        elif code[A] == "/":
            if loop[2] == 0:
                loop[1] = A
                loop[2] = 1
            else:
                if loop[0] > 1:
                    A = loop[1]
                    loop[0] -= 1
                else:
                    loop[2] = 0
            
            
            
        A += 1
linegraming("""__ _--_ _--_ _--_ _--_ _--_ _--_ _----_
 _-----_ _--------------_ _--------------_ _--------------_ _--------------_ _--------------_ _--------------_ _--------------_ _--------------_ 
 /__/ _--------_
  _-----_ _--------------_ _--------------_ _--------------_ _--------------_
 /__/ _--------_
  _-----_ _--------------_ _--------------_ _--------------_ _--------------_ _--------------_ _--------------_ _--------------_ _--------------_ _--------------_ _--------------_ _--------------_
 /__/ _--------_  _--------_
  _-----_ _--------------_ _--------------_ _--------------_ _--------------_ _--------------_ _--------------_ _--------------_ _--------------_ _--------------_ _--------------_ _--------------_ _--------------_ _--------------_ _--------------_  
 /__/ _--------_
 """)

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: