kth.sePublications
Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Design and Implementation of the Language Server Protocol for the Nickel Language
KTH, School of Electrical Engineering and Computer Science (EECS).
2022 (English)Independent thesis Advanced level (degree of Master (Two Years)), 20 credits / 30 HE creditsStudent thesisAlternative title
Utformning och genomförande av Language Server-protokollet för språket nickel (Swedish)
Abstract [en]

The expansive Language Integration, i.e. code completion, debugging as well as static code analysis, refactoring and more, has typically been the hallmark of Integrated Development Environments (IDE). Typical IDEs however focus on a selection of established languages to integrate which stifles the adoption of new languages. Contrasting IDEs, modular text editors allow for plugin driven integration of languages as contributed by their respective communities. Yet, providing language integration to multiple platforms requires repeated efforts for each one. The Language Server Protocol aims to be a solution to this problem by connecting a language specific Language Server to editors which act as generic clients. This work presents the design of a transferable Language Server architecture and its implementation for the Nickel languages. The product is finally evaluated quantitatively for its performance and qualitatively for its perception by future users.

Abstract [sv]

Den expansiva språkintegrationen, dvs. kodkomplettering, felsökning och statisk kodanalys, omstrukturering med mera, har vanligtvis varit kännetecknande för integrerade utvecklingsmiljöer (IDE). Typiska IDE:er fokuserar dock på ett urval av etablerade språk att integrera, vilket hämmar införandet av nya språk. Modulära textredigerare, som kontrasterar till IDE, möjliggör plugin-driven integration av språk som bidragits av deras respektive grupper. Att tillhandahålla språkintegration för flera plattformar kräver dock upprepade insatser för varje plattform. Language Server Protocol syftar till att lösa detta problem genom att ansluta en språkspecifik Language Server till redaktörer som fungerar som generiska klienter. I detta arbete presenteras utformningen av en överförbar Language Server-arkitektur och dess genomförande för nickelspråken. Produkten utvärderas slutligen kvantitativt med avseende på dess prestanda och kvalitativt med avseende på hur den uppfattas av framtida användare.

Place, publisher, year, edition, pages
2022. , p. 122
Series
TRITA-EECS-EX ; 2022:833
Keywords [en]
Language Server Protocol, Coda Analysis, IDE
National Category
Computer and Information Sciences
Identifiers
URN: urn:nbn:se:kth:diva-323490OAI: oai:DiVA.org:kth-323490DiVA, id: diva2:1732389
External cooperation
Tweag I/O Limited
Presentation
2022-07-05, via Zoom https://kth-se.zoom.us/j/62672647970, Stockholm, 13:00 (English)
Supervisors
Examiners
Available from: 2023-02-20 Created: 2023-01-31 Last updated: 2023-02-20Bibliographically approved

Open Access in DiVA

fulltext(13240 kB)1085 downloads
File information
File name FULLTEXT01.pdfFile size 13240 kBChecksum SHA-512
98dccd1a27ecf46c6e5ceb9db3d9c24fa2b2c9938b805bbce55d53ad4e9441b4a8ed5b5e2e42b1d5a4345eb5984e5fdfba46b76b7187f58dac9501fe2d010f3a
Type fulltextMimetype application/pdf

By organisation
School of Electrical Engineering and Computer Science (EECS)
Computer and Information Sciences

Search outside of DiVA

GoogleGoogle Scholar
Total: 1085 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

urn-nbn

Altmetric score

urn-nbn
Total: 891 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf