rflex is a fast lexical analyzer generator for Rust.
cargo install rflex
or
Write your Cargo.toml and build.rs
[package]
# ...build = "build.rs"
[build-dependencies]
# ...failure = "0.1.5"rflex = "0.9.0"externcrate rflex;use std::env;use std::path::Path;fnmain(){let out_dir = env::var("OUT_DIR").unwrap();let dest = Path::new(&out_dir).join("target.rs");let path = Path::new("src").join("target.l");ifletErr(e) = rflex::process(path,Some(dest)){for cause in failure::Fail::iter_chain(&e){eprintln!("{}: {}", cause.name().unwrap_or("Error"), cause);}
std::process::exit(1);}}See tutorial.md.
e{num}... repeat enumtimese{min,max}... repeat emintomaxtimese/s... lookaheadsbefore accepte
- rflex is released under MIT License.
- Copyright (c) 2018 Preferred Networks, Inc.
- Partial original codes were written in Java under 3-clause BSD license:
- Copyright (c) Gerwin Klein, Steve Rowe, Regis Decamp. All rights reserved.
These libraries are used only rflex lexer generator, generated code doesn't depend on them.
- fixedbitset released under MIT License
- Copyright (c) 2015-2017
- liquid released under MIT License
- Copyright (c) 2014 cobalt-org
- failure released under MIT License