process_call (RubyToAnsiC)

    # File lib/ruby_to_ansi_c.rb, line 252
      def process_call(exp)
        receiver = exp.shift
        name = exp.shift

        receiver_type = Type.unknown
        unless receiver.nil? then
          receiver_type = receiver.sexp_type
        end
        receiver = process receiver

        case name
          # TODO: these need to be numerics
          # emacs gets confused by :/ below, need quotes to fix indentation
        when :==, :<, :>, :<=, :>=, :-, :+, :*, "/""/", :% then
          args = process exp.shift[1]
          return "#{receiver} #{name} #{args}"
        when :<=>
          args = process exp.shift[1]
          return "RB_COMPARE(#{receiver}, #{args})"
        when :equal?
          args = process exp.shift
          return "#{receiver} == #{args}" # equal? == address equality
        when :[]
          args = process exp.shift
          return "#{receiver}[#{args}]"
        when :nil?
          exp.clear
          return receiver.to_s
        else
          args = process exp.shift

          if receiver.nil? and args.nil? then
            args = ""
          elsif receiver.nil? then
            # nothing to do
          elsif args.nil? then
            args = receiver
          else
            args = "#{receiver}, #{args}"
          end

          return "#{name}(#{args})"
        end
      end