process_iter (RubyToRubyC)

    # File lib/ruby_to_ruby_c.rb, line 74
      def process_iter(exp)
        out = []
        # Only support enums in C-land
        raise UnsupportedNodeError if exp[0][1].nil? # HACK ugly
        @env.scope do
          enum = exp[0][1][1] # HACK ugly t(:iter, t(:call, lhs <-- get lhs
          call = process exp.shift
          var  = process(exp.shift).intern # semi-HACK-y
          body = process exp.shift
          index = "index_#{var}"

          body += ";" unless body =~ /[;}]\Z/
          body.gsub!(/\n\n+/, "\n")

          out << "unsigned long #{index};"
          out << "unsigned long arrays_max = FIX2LONG(rb_funcall(arrays, rb_intern(\"size\"), 0));"
          out << "for (#{index} = 0; #{index} < arrays_max; ++#{index}) {"
          out << "VALUE x = rb_funcall(arrays, rb_intern(\"at\"), 1, LONG2FIX(index_x));"
          out << body
          out << "}"
        end

        return out.join("\n")
      end