小编Rip*_*Rip的帖子

如何从tree-sitter中的节点获取值?

如果我在树保姆中有一个简单的语法:

rules: {
    expr: $ => choice(
        /[0-9]+/,
        prec.right(seq($.expr, /[+-]/, $.expr)),
    )
}
Run Code Online (Sandbox Code Playgroud)

和一个输入:

3+4
Run Code Online (Sandbox Code Playgroud)

我得到以下 CST:

(start [0, 0] - [0, 3]
  (expr [0, 0] - [0, 3]
    (expr [0, 0] - [0, 1])
    (expr [0, 2] - [0, 3])))
Run Code Online (Sandbox Code Playgroud)

所以我的问题是,如何从这些节点/叶子中获取值,即解析的内容。我必须以某种方式评估这棵树。我当然确信有办法,因为我还可以使用树保姆进行语法突出显示,以满足我需要的值(我猜)。但我阅读了文档并找不到任何注释,如何操作。

c rust treesitter

2
推荐指数
1
解决办法
3703
查看次数

标签 统计

c ×1

rust ×1

treesitter ×1