问题标签 [treesitter]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
parsing - 用于区分标识符和隐式赋值的 tree-sitter 语法
我正在尝试创建一种可以区分赋值表达式和显式赋值运算符的语法,例如
和一个隐式赋值,比如
其中,显式赋值的变量名可以有尾随数字,而隐式赋值的变量名不能,即前者应将 1 分配给 T1,后者应将 1 分配给 T。
我想出了以下简单的语法:
这适用于这些测试用例
但不适合
或者
这是我正在使用的测试文件:
我试图修补优先级,fe 给 $.ia 更高的数字,但到目前为止没有任何帮助。我不认为语法是模棱两可的,但也许我只是看不清楚?
是否可以用 tree-sitter 来表达这样的语法?
我也在GH 上发布了这个。
treesitter - tree-sitter 中的字段访问和方法调用
我想为表达式编写一个解析器,它有
- 文字,例如
5
- 绝对键路径,以 开头
$d
,然后使用 访问字段.
,例如$d.field1.field2
- 方法调用表达式,例如
5.toString()
或$d.field1.toLowerCase()
我想出了以下语法:
我的问题是我没有设法提出可以解析上述示例的解决方案。我认为它应该可以通过在 and 之间设置优先级和关联性来解决field_access
,method_call
但我觉得到目前为止我已经尝试了所有可能的组合但没有成功。有人可以帮我想出一个语法吗?
treesitter - 在树保姆查询中否定子节点
给定一些 HTML 元素的 tree-sitter 树:
损坏的查询
在 neovim 的 tree-sitter html 语法中使用此查询失败injections.scm
,返回invalid field
错误
我将如何查询<script>
没有任何属性的元素?语法是否有必要为子项分配一个字段名称以便查询否定它?