gregex 0.6.0

Regex solver utilizing NFA
Documentation

Gregex crates.io Build Passing

Gregex is a regular expression solver which utilizes Non-deterministic Finite Automata (NFA) to simulate the input strings.

Usage

extern crate gregex;
use gregex::*;
fn main() {
    let tree = dot!(star!('a'), 'b', 'c');
    let regex = regex(&tree);
    assert!(regex.run("abc"));
    assert!(!regex.run("a"));
    assert!(regex.run("aaabc"));
}

Theory

The project uses Glushkov's construction algorithm for creating the NFA.

The pipeline can be summarised as below