Designing a SystemVerilog Language Server
Mar 3, 2026ndepalo

Summary
This post details the technical implementation of slang-server, a SystemVerilog language server. It explains the two main passes of the Slang library: parsing (lexing, preprocessing, parsing) and elaboration (calculating parameter values, connecting module instances, building the design hierarchy, and converting syntax trees into symbols). It also discusses optimizations made for the indexer's latency and memory usage.