rulex 0.4.4

DEPRECATED: Use pomsky instead. A new regular expression language
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
use std::collections::{HashMap, HashSet};

use crate::{error::CompileError, regex::Regex, repetition::RegexQuantifier, rule::Rule};

pub(crate) type CompileResult<'i> = Result<Regex<'i>, CompileError>;

#[derive(Clone)]
pub(crate) struct CompileState<'c, 'i> {
    pub(crate) next_idx: u32,
    pub(crate) used_names: HashMap<String, u32>,
    pub(crate) groups_count: u32,

    pub(crate) default_quantifier: RegexQuantifier,
    pub(crate) variables: Vec<(&'i str, &'c Rule<'i>)>,
    pub(crate) current_vars: HashSet<usize>,
}