def run(code):
T = 0 # 実行タイプ
A = 0 # 変数A
B = 0 # 変数B
L = 0 # ループ回数
ip = 0 # 命令ポインタ
loop_stack = [] # [(loop_start_ip, remaining_count)]
output = []
while ip < len(code):
c = code[ip]
if c == 'λ':
T = (T + 1) % 10
elif c == ' ' or c == '.':
# --- 実行 ---
if T == 1:
A += 1
elif T == 2:
A -= 1
elif T == 3:
A = B
elif T == 4:
B = A
elif T == 5:
L = A
elif T == 6:
# loop start
loop_stack.append([ip, L])
elif T == 7:
# loop end
if not loop_stack:
raise RuntimeError("loop end without start")
loop_stack[-1][1] -= 1
if loop_stack[-1][1] > 0:
ip = loop_stack[-1][0]
else:
loop_stack.pop()
elif T == 8:
output.append(chr(A % 256))
elif T == 9:
A = 0
T = 0
# その他の文字は無視
ip += 1
return output
code = (
"λ λ λ λ λ λ λ λ "
"λλλλλ."
"λλλλλλ."
"λ.λ.λ.λ.λ.λ.λ.λ."
"λλλλλλλ."
"λλ.λλ.λλ.λλ.λλ.λλ.λλ.λλ."
"λ.λ.λ.λ.λ.λ.λ.λ."
"λλλλλλλλ."
"λλλλλλλλλ."
"λ.λ.λ.λ.λ.λ.λ.λ."
"λλλλλ."
"λλλλλλ."
"λ.λ.λ.λ.λ.λ.λ.λ."
"λλλλλλλ."
"λλ.λλ.λλ.λλ.λλ.λλ.λλ.λλ."
"λ.λ.λ.λ.λ."
"λλλλλλλλ."
"λλλλλλλλλ."
"λ.λ.λ.λ.λ.λ.λ.λ."
"λλλλλ."
"λλλλλλ."
"λ.λ.λ.λ.λ.λ.λ.λ."
"λλλλλλλ."
"λλ.λλ.λλ.λλ.λλ.λλ.λλ.λλ."
"λ.λ.λ.λ.λ.λ.λ.λ.λ.λ.λ.λ."
"λλλλλλλλ."
"λλλλλλλλλ."
"λ.λ.λ.λ.λ.λ.λ.λ."
"λλλλλ."
"λλλλλλ."
"λ.λ.λ.λ.λ.λ.λ.λ."
"λλλλλλλ."
"λλ.λλ.λλ.λλ.λλ.λλ.λλ.λλ."
"λ.λ.λ.λ.λ.λ.λ.λ.λ.λ.λ.λ."
"λλλλλλλλ."
"λλλλλλλλλ."
"λ.λ.λ.λ.λ.λ.λ.λ."
"λλλλλ."
"λλλλλλ."
"λ.λ.λ.λ.λ.λ.λ.λ."
"λλλλλλλ."
"λλ.λλ.λλ.λλ.λλ.λλ.λλ.λλ."
"λ.λ.λ.λ.λ.λ.λ.λ.λ.λ.λ.λ.λ.λ.λ."
"λλλλλλλλ."
"λλλλλλλλλ."
)
print(run(code))
To embed this project on your website, copy the following code and paste it into your website's HTML: