Warning: session_start(): open(/var/lib/php/sessions/sess_gndaqjg0i1pf5o48tes74mkmd2, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
-- simple PN math evaluator
-- expects input in "input"
tokens = {}
for token in string.gmatch(input, "[^%s]+") do
table.insert(tokens, token)
end
stack = {}
function push(x) table.insert(stack, x) end
function pop() local x = stack[#stack]; stack[#stack] = nil; return x end
for i = #tokens, 1, -1 do
token = tokens[i]
if token:match('^[0-9]+$') then
push(tonumber(token))
else
arg1 = pop()
arg2 = pop()
if token == '+' then
push(arg1+arg2)
elseif token == '*' then
push(arg1*arg2)
else
error("Unknown operation: "..token)
end
end
end
return pop()