#lexer #tokenizer #regex #regex-parser #parser

regex-lexer-lalrpop

基于正则表达式的词法分析器(标记化器)

4 个版本 (2 个破坏性更新)

0.3.0 2021年10月28日
0.2.1 2021年10月22日
0.2.0 2021年9月28日
0.1.0 2021年9月9日

#270解析器工具

MIT/Apache

14KB
143

regex-lexer

github crates.io docs.rs build status

Rust 中基于正则表达式的词法分析器(标记化器)。

基本用法

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 */);

许可证

根据以下之一许可

由您选择。

贡献

除非您明确声明,否则任何有意提交以包含在您的工作中的贡献,如 Apache-2.0 许可证中定义的,应按上述方式双重许可,不附加任何其他条款或条件。

依赖项

~2.4–4MB
~75K SLoC