For Emacs 29+, please use the built-in integration instead.
tree-sitter
is an Emacs binding for Tree-sitter, an incremental parsing system.
It aims to be the foundation for a new breed of Emacs packages that understand code structurally. For example:
The author of Tree-sitter articulated its merits a lot better in this Strange Loop talk.