tree-sitter
-
tree-sitter Stage A — 어려웠던 건 빠른 파싱이 아니라 캐시 무효화였다IT 2026. 6. 3. 22:00
코드 위키가 코드베이스의 변화를 추적하기 위해 첫 번째로 해야 하는 일은 코드를 파싱하는 것이다. 어떤 파일에 어떤 함수가 정의되어 있는지, 어떤 모듈이 임포트되었는지를 알아야 위키의 뼈대를 세울 수 있다. 하지만 수십 개의 저장소, 수만 줄의 소스코드를 매일 밤 분석해야 할 때, 전통적인 파싱 방법론은 커다란 장벽에 부딪힌다.단순 정규식(Regex)으로 `def func_name`을 매칭하는 방식은 주석 안의 텍스트나 멀티라인 정의를 처리하지 못해 쉽게 깨진다. 그렇다고 소스 언어별 온전한 컴파일러 툴체인을 띄우는 것은 무겁고 느리며, 다언어 환경으로 확장할 때 복잡도가 폭발한다. deep-wiki Stage A는 이 모순을 해결하기 위해 tree-sitter를 도입했다.1. 왜 tree-sitter인..