class Parser::VariablesStack

def declare(name)

def declare(name)
  @stack.last << name.to_sym
end

def declared?(name)

def declared?(name)
  @stack.last.include?(name.to_sym)
end

def empty?

def empty?
  @stack.empty?
end

def initialize

def initialize
  @stack = []
  push
end

def pop

def pop
  @stack.pop
end

def push

def push
  @stack << Set.new
end

def reset

def reset
  @stack.clear
end