4 releases (2 breaking)
0.3.0 | Oct 28, 2021 |
---|---|
0.2.1 | Oct 22, 2021 |
0.2.0 | Sep 28, 2021 |
0.1.0 | Sep 9, 2021 |
#268 in Parser tooling
14KB
143 lines
regex-lexer
A regex-based lexer (tokenizer) in Rust.
Basic Usage
enum Token {
Num(usize),
// ...
}
let lexer = regex_lexer::LexerBuilder::new()
.token(r"[0-9]+", |num| Some(Token::Num(num.parse().unwrap())))
.token(r"\s+", |_| None) // skip whitespace
// ...
.build();
let tokens = lexer.tokens(/* source */);
License
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT License (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusing in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Dependencies
~2.4–4MB
~75K SLoC