#parser #incremental #squirrel

tree-sitter-squirrel

Squirrel语法对tree-sitter

3个版本 (1个稳定版)

1.0.0 2023年6月20日
0.0.2 2023年3月7日
0.0.1 2023年3月6日

#5 in #squirrel

MIT许可证

3MB
114K SLoC

C 113K SLoC JavaScript 515 SLoC // 0.1% comments Scheme 319 SLoC // 0.1% comments Rust 34 SLoC

tree-sitter-squirrel

此包提供了一个用于tree-sitter解析库的Squirrel语法。要使用此包,将其添加到您的[dependencies]部分的Cargo.toml文件中。(注意,您可能还需要依赖于tree-sitter包,以便以任何有用的方式使用解析结果。)

[dependencies]
tree-sitter = "~0.20.9"
tree-sitter-squirrel = "1.0.0"

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

let code = r#"
  class A {
    member = 1;
    function foo() {
      if (false) return 0;

      do {
        local a = null;
      } while (true)

      try {
        this.member = 2;
      } catch (_) {

      }
    }
  }
"#;
let mut parser = Parser::new();
parser.set_language(tree_sitter_squirrel::language()).expect("Error loading Squirrel grammar");
let parsed = parser.parse(code, None);

如果您有任何问题,请通过tree-sitter讨论页联系我们。

依赖项

~2.8–4MB
~72K SLoC