Data update
This commit is contained in:
parent
8e4e15fa56
commit
72eb4943cb
1853 changed files with 35514 additions and 9441 deletions
|
|
@ -1,52 +0,0 @@
|
|||
local stack = {}
|
||||
function push( a ) table.insert( stack, 1, a ) end
|
||||
function pop()
|
||||
if #stack == 0 then return nil end
|
||||
return table.remove( stack, 1 )
|
||||
end
|
||||
function writeStack()
|
||||
for i = #stack, 1, -1 do
|
||||
io.write( stack[i], " " )
|
||||
end
|
||||
print()
|
||||
end
|
||||
function operate( a )
|
||||
local s
|
||||
if a == "+" then
|
||||
push( pop() + pop() )
|
||||
io.write( a .. "\tadd\t" ); writeStack()
|
||||
elseif a == "-" then
|
||||
s = pop(); push( pop() - s )
|
||||
io.write( a .. "\tsub\t" ); writeStack()
|
||||
elseif a == "*" then
|
||||
push( pop() * pop() )
|
||||
io.write( a .. "\tmul\t" ); writeStack()
|
||||
elseif a == "/" then
|
||||
s = pop(); push( pop() / s )
|
||||
io.write( a .. "\tdiv\t" ); writeStack()
|
||||
elseif a == "^" then
|
||||
s = pop(); push( pop() ^ s )
|
||||
io.write( a .. "\tpow\t" ); writeStack()
|
||||
elseif a == "%" then
|
||||
s = pop(); push( pop() % s )
|
||||
io.write( a .. "\tmod\t" ); writeStack()
|
||||
else
|
||||
push( tonumber( a ) )
|
||||
io.write( a .. "\tpush\t" ); writeStack()
|
||||
end
|
||||
end
|
||||
function calc( s )
|
||||
local t, a = "", ""
|
||||
print( "\nINPUT", "OP", "STACK" )
|
||||
for i = 1, #s do
|
||||
a = s:sub( i, i )
|
||||
if a == " " then operate( t ); t = ""
|
||||
else t = t .. a
|
||||
end
|
||||
end
|
||||
if a ~= "" then operate( a ) end
|
||||
print( string.format( "\nresult: %.13f", pop() ) )
|
||||
end
|
||||
--[[ entry point ]]--
|
||||
calc( "3 4 2 * 1 5 - 2 3 ^ ^ / +" )
|
||||
calc( "22 11 *" )
|
||||
Loading…
Add table
Add a link
Reference in a new issue