global

def parse!

def parse!
  @state = :initial
  catch(:finish) do
    source.tokens.each do |token|
      invoke_state_handler(token)
    end
  end
end