ievanson Hacker News • Recommends
On “Difftastic, a structural diff tool that understands syntax”
88K subscribers • 114 videos on Hallway • Conference channel
Intermediate. Assumes working knowledge.
63K views8 years ago5 recommendations
Systems programmingTools and practiceCompilers and interpretersVim, Emacs and editors
Max Brunsfeld introduces Tree-sitter, an incremental parsing system designed for real-time code analysis in text editors and developer tools.
Developer tools that support multiple programming languages generally have very limited, regex-based code-analysis capabilities. Tree-sitter is a new parsing system that aims to change this paradigm. It provides a uniform C API for parsing an ever-growing set of languages. It features high-performance incremental parsing and robust error recovery, which allow it to be used to parse code in real-time in a text editor. There are bindings for using Tree-sitter from Node.js, Haskell, Ruby and Rust. We're in the process of integrating Tree-sitter into both GitHub.com and the Atom text editor, which will allow us to analyze code accurately and efficiently, paving the way for better syntax highlighting, code navigation, and refactoring. We'll demo some new features that Tree-sitter has enabled in GitHub.com and Atom, discuss some the interesting algorithms that it uses, and share thoughts on some potential future applications. Speaker: Max BrunsfeldWhat people say. Recommended as an excellent explanation of the design choices, incremental parsing, and error recovery mechanisms behind Tree-sitter.
ievanson Hacker News • Recommends
On “Difftastic, a structural diff tool that understands syntax”
programming-talkscurated list on GitHubRecommends
Under “Data Structures & Algorithms”
lemmingon Hacker News • Recommends
On “Owl: Parser generator for visibly pushdown languages”
rtsaoon Hacker News • Recommends
On “Introducing Semgrep and r2c”
AlexErranton Hacker News • Recommends
On “Lessons from building GitHub code search [video]”
u/shackra'(secretaria.el font-man-mode flymake-golangci tortuga)in r/emacs • Mentions
u/theindigamerin r/ProgrammingLanguages • Mentions
On “Tree-sitter - a new parsing system for programming tools”
u/raymyersin r/ProgrammingLanguages • Mentions
On “Writing a language Server”
throwaway_pdp09on Hacker News • Mentions
On “Advanced Compilers: Self-Guided Online Course”
u/therealjohnfreemanin r/ProgrammingLanguages • Mentions
On “Good design patterns when writing "forgiving parsers"?”