自定义 tree-sitter 的 grammar 真难

2025 年 12 月 2 日
 powersee

有没有 v2er 会的呢? 希望可以可以出一个 “从入门到入土”的教程。

2249 次点击
所在节点    程序员
6 条回复
YanSeven
2025 年 12 月 2 日
我只用 tree-sitter 写过它那个语法树节点的匹配规则,很痛苦,纯纯扣正则。
encounter2017
2025 年 12 月 2 日
有没有合适的用例呢?
vonfry
2025 年 12 月 2 日
tree sitter 的语法不是基于 generalized LR 做的么?已经比 LR(1) 这种规则宽很多了。
如果觉得难,可能是不太理解 BNF 表达和 FSM 解析流程。可以先拿 yacc 这种写个简单的 parser 开始。或者阅读一下龙书(
yeelooyeeuu
2025 年 12 月 2 日
问问 ai
powersee
2025 年 12 月 2 日
@encounter2017 #2 GitHub 上的用例都是成品。编写思路很重要,目前缺乏这方面的教程
powersee
2025 年 12 月 2 日
@yeelooyeeuu #4 ai 回答的错误率很高,因为这玩意比较严谨,错一个地方都不行

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.ih06.com/t/1176257

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX