reference-resolution
-
LSP를 메모리 안으로 — jedi를 통한 초고속 함수 단위 CALLS 그래프 구축IT 2026. 6. 3. 23:00
앞서 Stage A에서 tree-sitter를 사용해 코드의 뼈대(함수명, 임포트)를 세웠다. 하지만 "함수 A가 함수 B를 호출한다"는 실질적인 의존성 관계는 단순 구문 분석만으로 알 수 없다. 파일 안에 단순히 bar()라는 호출 구문이 있더라도, 그 bar가 이 파일 안의 함수인지, 임포트된 라이브러리의 함수인지, 혹은 동명이인의 전혀 다른 모듈 소속인지 정적으로 해결하기(Resolve) 어렵기 때문이다.이를 해결하려면 심볼 테이블과 스코프를 뒤져 의미를 해석하는 Semantic Resolution이 필요하다. 일반적으로 VS Code 같은 IDE는 이를 위해 백그라운드에 무거운 LSP(Language Server Protocol) 데몬을 띄워 통신한다. 하지만 수십 개의 프로젝트를 배치(Batch..