3 个稳定版本
1.0.2 | 2024年7月30日 |
---|
1433 在 网页编程
302 每月下载量
51KB
1.5K SLoC
fastexpr.rs
一个快速、小巧、依赖性最小的 JavaScript 表达式解析器,用 Rust 编写。
功能
- 快速。手工编码的词法分析和自顶向下的运算符优先级解析器。
- 小巧。大约 ~1000 LOC。
- 兼容。解析所有有效的 JavaScript 表达式。产生一个
esprima
样式的 AST。
使用方法
let result = parse("(s) => `hello from ${s}!`");
match result {
Ok(expr) => {
println!("{:#?}", expr);
}
Err(err) => {
println!("{:#?}", err);
}
}
which produces
ArrowFunction {
params: [
Identifier {
token: Identifier(
"s",
),
},
],
body: TemplateLiteral {
quasis: [
TemplateString {
token: String(
"hello from ",
),
tail: false,
},
TemplateString {
token: String(
"!",
),
tail: true,
},
],
expressions: [
Identifier {
token: Identifier(
"s",
),
},
],
},
}
依赖
~575KB
~11K SLoC