3 个不稳定版本

0.2.0 2020年6月14日
0.1.1 2020年6月5日
0.1.0 2020年5月30日

文本处理类别中排名1831


misc-conf中使用

Apache-2.0 协议

150KB
4K SLoC

luaparse

一个 Lua 5.3 解析器。在语法树中保留无意义标记(空白和注释)。

文档.

示例

use luaparse::error::Error;
use luaparse::{parse, HasSpan};

let buf = r#"
local a = 42
local b = 24

for i = 1, 100, 1 do
  b = a - b + i
end

print(b)
"#;

match parse(buf) {
    Ok(block) => println!("{}", block),
    Err(e) => eprintln!("{:#}", Error::new(e.span(), e).with_buffer(buf)),
}

lib.rs:

一个 Lua 5.3 解析器工具包。

开始使用

use luaparse::{parse, HasSpan};
use luaparse::error::Error;

let buf = r#"
local a = 42
local b = 24

for i = 1, 100, 1 do
  b = a - b + i
end

print(b)
"#;

match parse(buf) {
    Ok(block) => println!("{}", block),
    Err(e) => eprintln!("{:#}", Error::new(e.span(), e).with_buffer(buf)),
}

依赖项

~2–10MB
~94K SLoC