#lexer #source #logo #c #parser

clex

快速C语言词法分析器(库)

1 个不稳定版本

0.1.0 2022年7月3日

#38#logo

MIT 许可证

34KB
918

C语言源代码词法分析器(Rust编写)

github crate docs MIT CI

这是一个快速且健壮的C语言源代码词法分析器。例如,它可以用来从源代码中提取一些元数据,如注释或字符串。

库使用方法

use clex::{Lexer, Token};

let src = r#"
static const char *s = "world";

int main() {
  // Hello world
  printf("Hello %s\n", s);

  return 0;
}
"#;

for lexeme in Lexer::from(src) {
  match lexeme.token {
    Token::Comment => {
      println!("comment: {:?}", lexeme.comment().unwrap());
    }
    Token::String => {
      println!("string: {:?}", lexeme.string().unwrap());
    }
    _ => {}
  }
}

以下示例会打印以下内容

string: "world"
comment: "Hello world"
string: "Hello %s\n"

命令行使用

目前命令行工具用于测试此库。您可以使用它来分析各种C源代码并提取数据。

依赖项

~3.5MB
~49K SLoC