aboutsummaryrefslogtreecommitdiff
path: root/src/main.rs
blob: bfe2050c2ad0c3f0024cc4b27f78b3a6e4db4f9d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
mod nfa;
mod regex;
use nfa::*;
use regex::*;

fn main() {
    let input = "abcdefglmno";
    let token = Regex::new(String::from(input));
    println!("{input}\n{:#?}", token);

    let mut nfa = NFA::new();
    nfa.regex_to_nfa(token);
    nfa.add_state();

    println!("NFA: {:#?}", nfa);
    let inp = "abcdefglmno";
    let output = nfa.simulate(String::from(inp));
    println!("{inp} was = {output}")
}