class Stack
CLAZ declare############################################
Public Class Methods
destroy()
click to toggle source
# File lib/AoBane/utilities.rb, line 402 def self.destroy if @stack.nil? then @stack = [] else @stack.clear end p @stack @sp = 0 end
dump()
click to toggle source
# File lib/AoBane/utilities.rb, line 398 def self.dump @@log.debug("Stack DUMP:#{@stack}") end
new()
click to toggle source
# File lib/AoBane/utilities.rb, line 347 def initialize @stack = [] @sp = 0 end
Public Instance Methods
evalStackTop()
click to toggle source
# File lib/AoBane/utilities.rb, line 376 def evalStackTop return @stack.last end
getSp()
click to toggle source
# File lib/AoBane/utilities.rb, line 380 def getSp if @sp >= 0 then return @sp else raise FatalError,"SP is negative!" end end
insertNumber()
click to toggle source
# File lib/AoBane/utilities.rb, line 372 def insertNumber # return str end
isTopofStack(item)
click to toggle source
# File lib/AoBane/utilities.rb, line 390 def isTopofStack(item) if item == @stack.last then return true else return false end end
pop()
click to toggle source
# File lib/AoBane/utilities.rb, line 363 def pop @@log.debug("#{__LINE__} pop") if (@stack.size - 1) >= 0 then @sp -= 1;return @stack.pop else raise SyntaxError,"Stack Under Flow!" end @@log.debug "#{@stack}" end
push(pair)
click to toggle source
# File lib/AoBane/utilities.rb, line 352 def push(pair) @@log.debug("#{__LINE__} push #{pair}") if (@stack.size + 1) < $MAX_STACK then @stack.push(pair) @sp += 1 @@log.debug @stack else raise SyntaxError,"Stack Over Flow!" end end
sizeofStack()
click to toggle source
# File lib/AoBane/utilities.rb, line 386 def sizeofStack return @stack.size end