class Chronic::Scalar

def self.scan(tokens, options)

Returns an Array of tokens.

options - The Hash of options specified in Chronic::parse.
tokens - An Array of tokens to scan.

tags to each token.
Scan an Array of Token objects and apply any necessary Scalar
def self.scan(tokens, options)
  tokens.each_index do |i|
    token = tokens[i]
    post_token = tokens[i + 1]
    if token.word =~ /^\d+$/
        scalar = token.word.to_i
        token.tag(Scalar.new(scalar))
        token.tag(ScalarSubsecond.new(scalar)) if Chronic::Time::could_be_subsecond?(scalar)
        token.tag(ScalarSecond.new(scalar)) if Chronic::Time::could_be_second?(scalar)
        token.tag(ScalarMinute.new(scalar)) if Chronic::Time::could_be_minute?(scalar)
        token.tag(ScalarHour.new(scalar)) if Chronic::Time::could_be_hour?(scalar)
        unless post_token and DAY_PORTIONS.include?(post_token.word)
          token.tag(ScalarDay.new(scalar)) if Chronic::Date::could_be_day?(scalar)
          token.tag(ScalarMonth.new(scalar)) if Chronic::Date::could_be_month?(scalar)
          if Chronic::Date::could_be_year?(scalar)
            year = Chronic::Date::make_year(scalar, options[:ambiguous_year_future_bias])
            token.tag(ScalarYear.new(year.to_i))
          end
        end
    end
  end
end