require("ex8-1")

class CUICalc
    def initialize
	@calc = Calc.new
    end

    def perform (s)
	case s
	when "q"
	    exit(0)
	when "p"
	    p(@calc.top)
	when "+"
	    @calc.add
	when "-"
	    @calc.sub
	when "*"
	    @calc.mul
	when "/"
	    @calc.div
	else
	    @calc.push(s.to_i)
	end
    end

    def mainloop
	while true
	    s = readline.chomp
	    begin
		perform(s)
	    rescue => e
		STDERR.puts(e)
	    end
	end
    end
end

CUICalc.new.mainloop
