1 个不稳定版本
0.1.0 | 2022年7月3日 |
---|
#38 在 #logo
34KB
918 行
C语言源代码词法分析器(Rust编写)
这是一个快速且健壮的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