in lib/twitter_cldr/parsers/unicode_regex_parser.rb [59:91]
def preprocess(tokens)
result = []
i = 0
while i < tokens.size
is_range = valid_ranged_character_class_token?(tokens[i]) &&
valid_ranged_character_class_token?(tokens[i + 2]) &&
tokens[i + 1].type == :dash
if is_range
initial = send(tokens[i].type, tokens[i])
final = send(tokens[i + 2].type, tokens[i + 2])
result << make_character_range(initial, final)
i += 3
else
if negated_token?(tokens[i])
result += [
make_token(:open_bracket),
make_token(:negate),
tokens[i],
make_token(:close_bracket)
]
else
result << tokens[i]
end
i += 1
end
end
result
end