rust-analyzer
- https://rust-analyzer.github.io/
- Architecture: https://rust-analyzer.github.io/book/contributing/architecture.html
- Explaining rust-analyzer: https://www.youtube.com/playlist?list=PLhb66M_x9UmrqXhQuIpWC5VgTdrGxMx3y
Incremental Packrat Parsing
- SLE 2017
- Patrick Dubroy and Alessandro Warth
- https://ohmlang.github.io/pubs/sle2017/incremental-packrat-parsing.pdf
Editing composed languages
- 2019 PhD Dissertation; Lukas Diekmann
- https://diekmann.co.uk/diekmann_phd.pdf
Parser Generation for Interactive Environments
- 1992 Jan Rekers
- http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.35.7652&rank=1
- https://pdfs.semanticscholar.org/4c99/3fef6705c52fd0d210dcf946e70e6c8fd53f.pdf
Incremental Parsing of Large Legacy C/C++ Software
- Information Society 2018
- Anett Fekete, Máté Cserép
- https://www.researchgate.net/publication/331841327_Incremental_Parsing_of_Large_Legacy_CC_Software
- http://library.ijs.si/Stacks/Proceedings/InformationSociety/2018/IS2018_Volume_G%20-%20CSS.pdf
Incremental Scannerless Generalized LR Parsing
- 2019 ACM SIGPLAN International Conference on Systems, Programming, Languages, and Applications: Software for Humanity (SPLASH)
- Maarten P. Sijm
- https://doi.org/10.1145/3359061.3361085
Practical Algorithms for Incremental Software Development Environments
- Tim A. Wagner
- EECS Department
- University of California, Berkeley
- Technical Report No. UCB/CSD-97-946
- March 1998
- https://www2.eecs.berkeley.edu/Pubs/TechRpts/1997/5885.html
- cf. "Editing composed languages" (2019 PhD Dissertation; Lukas Diekmann)
Query-based compiler architectures
- Olle Fredriksson
- https://ollef.github.io/blog/posts/query-based-compilers.html
- London Performance Summit 2nd edition: 2021
- https://www.youtube.com/watch?v=3D-ngGIP4fQ
Responsive compilers
- PLISS 2019; Nicholas Matsakis
- https://www.youtube.com/watch?v=N6b44kMS6OM
- https://nikomatsakis.github.io/pliss-2019/responsive-compilers.html
- salsa project: https://github.com/salsa-rs/salsa
tree-sitter: An incremental parsing system for programmings tools
- Tree-sitter is a C library for incremental parsing, intended to be used via bindings to higher-level languages. It can be used to build a concrete syntax tree for a program and efficiently update the syntax tree as the program is edited. This makes it suitable for use in text-editing programs.
- https://github.com/tree-sitter/tree-sitter
- Tree-Sitter: A New Parsing System for Programming Tools
- 2017 Galois, Inc. Tech Talk
- Max Brunsfeld
- https://www.youtube.com/watch?v=RUYPd7SjI-Y
- Underlying Research