#erlang #parser #incremental

tree-sitter-erlang

tree-sitter解析库的Erlang语法

8个版本 (破坏性更新)

0.7.0 2024年7月15日
0.6.0 2024年5月16日
0.5.0 2024年3月18日
0.4.0 2023年12月15日
0.0.1 2022年10月20日

#76 in 文本编辑器

Download history • Rust 包仓库 130/week @ 2024-05-03 • Rust 包仓库 265/week @ 2024-05-10 • Rust 包仓库 376/week @ 2024-05-17 • Rust 包仓库 233/week @ 2024-05-24 • Rust 包仓库 234/week @ 2024-05-31 • Rust 包仓库 233/week @ 2024-06-07 • Rust 包仓库 148/week @ 2024-06-14 • Rust 包仓库 349/week @ 2024-06-21 • Rust 包仓库 194/week @ 2024-06-28 • Rust 包仓库 137/week @ 2024-07-05 • Rust 包仓库 347/week @ 2024-07-12 • Rust 包仓库 193/week @ 2024-07-19 • Rust 包仓库 284/week @ 2024-07-26 • Rust 包仓库 234/week @ 2024-08-02 • Rust 包仓库 275/week @ 2024-08-09 • Rust 包仓库 244/week @ 2024-08-16 • Rust 包仓库

每月 1,074 次下载
utils-tree-sitter 中使用

MIT 许可协议

1.5MB
57K SLoC

C 55K SLoC // 0.0% comments • Rust 包仓库 JavaScript 1K SLoC // 0.0% comments • Rust 包仓库 Scheme 138 SLoC // 0.3% comments • Rust 包仓库 Rust 33 SLoC // 0.5% comments • Rust 包仓库

Tree Sitter Erlang

这代表在ELP项目中用于Erlang语言的tree-sitter语法。

最初是 https://github.com/AbstractMachinesLab/tree-sitter-erlang 的直接克隆,但后来为了完整性而进行了大量修改。

用法

使用以下命令安装所需的工具链

make deps

编辑 grammar.js 文件,并使用以下命令重新生成代码

make gen

有用的测试命令,解析 foo.erl 并打开浏览器窗口以显示进程,并显示生成的AST的漂亮图片。

npm run parse -- --debug-graph testdata/foo.erl

许可协议

tree-sitter-erlang遵循Apache许可证


lib.rs:

此crate为tree-sitter解析库提供Erlang语言支持。

通常,您将使用language函数将此语言添加到tree-sitter Parser,然后使用解析器解析一些代码

let code = r#"
"#;
let mut parser = tree_sitter::Parser::new();
parser.set_language(&tree_sitter_erlang::language()).expect("Error loading Erlang grammar");
let tree = parser.parse(code, None).unwrap();
assert!(!tree.root_node().has_error());

依赖关系

~2.8–4MB
~72K SLoC