def handle_sm_sd(tokens, options)
      month = tokens[0].get_tag(ScalarMonth).type
      day = tokens[1].get_tag(ScalarDay).type
      year = self.now.year
      time_tokens = tokens.last(tokens.size - 2)

      return if month_overflow?(year, month, day)

      begin
        day_start = Chronic.time_class.local(year, month, day)

        if options[:context] == :future && day_start < now
          day_start = Chronic.time_class.local(year + 1, month, day)
        elsif options[:context] == :past && day_start > now
          day_start = Chronic.time_class.local(year - 1, month, day)
        end

        day_or_time(day_start, time_tokens, options)
      rescue ArgumentError
        nil
      end
    end
def handle_sm_sd(tokens, options)
      month = tokens[0].get_tag(ScalarMonth).type
      day = tokens[1].get_tag(ScalarDay).type
      year = self.now.year
      time_tokens = tokens.last(tokens.size - 2)

      return if month_overflow?(year, month, day)

      begin
        day_start = Chronic.time_class.local(year, month, day)

        if options[:context] == :future && day_start < now
          day_start = Chronic.time_class.local(year + 1, month, day)
        elsif options[:context] == :past && day_start > now
          day_start = Chronic.time_class.local(year - 1, month, day)
        end

        day_or_time(day_start, time_tokens, options)
      rescue ArgumentError
        nil
      end
    end
Handle scalar-month/scalar-day