rflex is a fast lexical analyzer generator for Rust.
cargo install rflex
or
Write your Cargo.toml and build.rs
```toml [package]
build = "build.rs"
[build-dependencies]
failure = "0.1.5" rflex = "0.6" ```
```rust extern crate rflex; use std::env; use std::path::Path;
fn main() { let outdir = env::var("OUTDIR").unwrap(); let dest = Path::new(&outdir).join("target.rs"); let path = Path::new("src").join("target.l"); if let Err(e) = rflex::process(path, Some(dest)) { for cause in failure::Fail::iterchain(&e) { eprintln!("{}: {}", cause.name().unwrap_or("Error"), cause); } std::process::exit(1); } } ```
See tutorial.md.
e{num}
... repeat e num
timese{min,max}
... repeat e min
to max
timese/s
... lookahead s
before accept e
These libraries are used only rflex lexer generator, generated code doesn't depend on them.