Tree-sitter: a new parsing system for programming tools - GitHub Universe 2017
Why Hacker News recommends it
Recommended as the canonical introduction to tree-sitter and why fast incremental parsing enables live editor support.
What it is
Max Brunsfeld of GitHub presents Tree-sitter, a parsing system for programming tools that supports incremental, error-tolerant parsing. He demos its integration into GitHub.com and Atom for syntax highlighting and code navigation.
Recommended by 2 HN commenters across 2 different months, 2018 to 2022.
What Hacker News said
Recommends lewisl9029 · 2018-03 · on “Atom 1.25”
Tree-sitter is not just for code folding, it's a full-on incremental parser that's fast enough to run on every keystroke. See their expand selection example for another really compelling use-case. If you're interested in more details, there's also this talk from the developer behind tree-sitter ( [this video] ), where he showcases how they could use tree-sitter to quickly parse entire multi-megabyte minified JS files to provide complete syntax highlighting for them that updates as you edit, and how the accuracy and usefulness of the actual syntax highlighting can improve over regex based implementations due to having access to the fully specified grammar of the language. I think tree-sitter is al
Recommends ris58h · 2022-04 · on “Zas Editor”
They use tree-sitter [LINK] It's ok with errors in AST and just marks such nodes as invalid. There is a long (42 minutes) but worth to watch talk about tree-sitter [this video] Or the shorter version (20 minutes) [LINK]
Cites imoldfella · 2019-04 · on “A Brief and Brisk Overview of Compiler Architecture”
100% agree. If starting now I think you should consider targeting mlir[1]. It fixes many problems you will have with llvm, and allows you to create language specific dialects and transformations. Impressive new work by a top-notch team led by LLVM creator Chris Lattner. It has LLVM as an optional target, so you get that for free. For a parser, you should consider using tree-sitter[2]. Tree-sitter gives you live editor support for free. Impressive work by Max Brunsfeld. [1] [LINK] [2] [this video]
Cites bhl · 2021-07 · on “Diffsitter: A tree-sitter based AST difftool to get meaningful semantic diffs”
`tree-sitter` has been post to the website a bunch of times so I remembered from those submissions: [LINK] Also these resources: [LINK] [this video]