require 'treetop'
require 'arith'
require 'readline'

parser = ArithmeticParser.new
while line = Readline::readline("? ", [])
  begin
    p parser.parse(line).value
  rescue => e
    puts e
  end
end
puts

vars = (class X; include Arithmetic::Variable1; end).new.variables
vars.keys.sort.each{ |k| puts "#{k} = #{vars[k]}" } if vars
