swiftlet 0.1.5

swiftlet is a high-performance text-parsing library for Rust, inspired by Python’s Lark.
Documentation
use std::sync::Arc;

use swiftlet::preclude::*;

fn main() {
    // let g = r#"
    // s: C
    // A: D "a" "b"
    // C: "c" A
    // D: "d"
    // "#;

    // let g = r#"
    // s: A "fe"
    // A: ("1" "2") C*
    // C: /\w+/ /\d+/
    // "#;

    let g = r#"
    s: A
    A: (X | "a")+ B
    B: "b"
    X: "x"
    "#;

    let parser_opt = Arc::new(ParserOption{start: "s".to_string(), debug: true, ..Default::default() });
    let parser = Swiftlet::from_string(g, parser_opt).expect("failed to build parser");

    let parsed = parser.parse("xaxb").expect("Failed to parse a text");
    parsed.pretty_print();
}