Skip to content

Latest commit

Β 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Clangd Research Artifacts (CS323 Report)

This repository contains the modified source code and experimental scripts for the course report:
"Language Server Protocols: Surveying How Compiler Frontends Enable Intelligent Features".

The modifications were made based on the LLVM Project (approx. version 12-15). These instrumentations allow us to trace the internal lifecycle of LSP requests.

πŸ“‚ Repository Structure

  • src/clangd/: Contains the modified C++ source files from llvm-project/clang-tools-extra/clangd/.
    • Selection.cpp: Instrumented to dump the SelectionTree structure (Case Study 1).
    • XRefs.cpp: Instrumented to trace the locateSymbolAt and resolution layer (Case Study 1).
    • ClangdLSPServer.cpp: Instrumented to capture LSP layer requests (Case Study 1).
    • FuzzyMatch.cpp: Instrumented to print scoring details for code completion (Case Study 2).
    • Preamble.cpp: Instrumented to log preamble build triggers (Case Study 3).
  • tests/: Contains the C++ test cases used to trigger the logs.

πŸš€ How to Use

  1. Replace the corresponding files in a standard llvm-project source tree with the files in src/clangd/.
  2. Recompile clangd using make clangd.
  3. Run clangd with your editor or via command line to see the >>> [Experiment] logs.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages