Skip to content

Latest commit

History

73 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

rflex

rflex is a fast lexical analyzer generator for Rust.

GitHub licenseCrates Status

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.

Unsupported regular-expression

  • e{num} ... repeat e num times
  • e{min,max} ... repeat e min to max times
  • e/s ... lookahead s before accept e

License

  • rflex is released under MIT License.

Copyright

  • 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.

Dependent libraries

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

About

Fast lexer code generator for Rust

Topics

Resources

Stars

143 stars

Watchers

93 watching

Forks

Releases

Packages

Used by

Contributors

Languages