Subleq: Difference between revisions

102 bytes added ,  7 years ago
m
→‎{{header|Lua}}: fixed spacing
(Added Lua version)
m (→‎{{header|Lua}}: fixed spacing)
Line 628:
=={{header|Lua}}==
<lang Lua>function subleq (prog)
local mem, p, A, B, C = {}, 0
for word in prog:gmatch("%S+") do
mem[p] = tonumber(word)
p = p + 1
end
p = 0
repeat
A, B, C = mem[p], mem[p + 1], mem[p + 2]
if A == -1 then
mem[B] = io.read()
elseif B == -1 then
io.write(string.char(mem[A]))
else
mem[B] = mem[B] - mem[A]
if mem[B] <= 0 then p = C end
end
p = p + 3
until not mem[mem[p]]
end
 
Anonymous user