Lines Matching defs:range
1111 let mut range = ast::RepetitionRange::Exactly(count_start);
1131 range = ast::RepetitionRange::Bounded(count_start, count_end);
1133 range = ast::RepetitionRange::AtLeast(count_start);
1150 if !range.is_valid() {
1159 kind: ast::RepetitionKind::Range(range),
1798 /// be parsed can either be one of a simple literal character, a range
1803 /// a simple literal is expected (e.g., in a range), then an error is
1812 // If the next char isn't a `-`, then we don't have a range.
1823 // OK, now we're parsing a range, so bump past the `-` and parse the
1824 // second half of the range.
1829 let range = ast::ClassSetRange {
1834 if !range.is_valid() {
1836 self.error(range.span, ast::ErrorKind::ClassRangeInvalid)
1839 Ok(ast::ClassSetItem::Range(range))
2380 /// Create a new span from the given offset range. This assumes a single
2383 fn span(range: Range<usize>) -> Span {
2384 let start = Position::new(range.start, 1, range.start + 1);
2385 let end = Position::new(range.end, 1, range.end + 1);
2389 /// Create a new span for the corresponding byte range in the given string.
2390 fn span_range(subject: &str, range: Range<usize>) -> Span {
2392 offset: range.start,
2393 line: 1 + subject[..range.start].matches('\n').count(),
2394 column: 1 + subject[..range.start]
2398 .unwrap_or(subject[..range.start].chars().count()),
2401 offset: range.end,
2402 line: 1 + subject[..range.end].matches('\n').count(),
2403 column: 1 + subject[..range.end]
2407 .unwrap_or(subject[..range.end].chars().count()),
2435 /// Create a concatenation with the given range.
2436 fn concat(range: Range<usize>, asts: Vec<Ast>) -> Ast {
2437 concat_with(span(range), asts)
2446 fn alt(range: Range<usize>, asts: Vec<Ast>) -> Ast {
2447 Ast::Alternation(ast::Alternation { span: span(range), asts })
2451 fn group(range: Range<usize>, index: u32, ast: Ast) -> Ast {
2453 span: span(range),
2461 /// The given pattern should be the full pattern string. The range given
2468 range: Range<usize>,
2473 span: span_range(pat, (range.end - 2)..(range.end - 1)),
2480 span: span_range(pat, (range.start + 2)..(range.end - 2)),
2486 span: span_range(pat, range.clone()),
2488 span: span_range(pat, (range.start + 2)..(range.end - 1)),
4732 fn range(span: Span, start: char, end: char) -> ast::ClassSetItem {
4950 kind: itemset(range(span(1..4), 'a', 'z')),
4961 range(span(1..4), 'a', 'c'),
4962 range(span(4..7), 'x', 'z'),
4982 range(span(5..8), 'a', 'c'),
4983 range(span(8..11), 'x', 'z'),
4999 range(span(1..4), 'a', 'c'),
5000 range(span(4..7), 'x', 'z'),