Development of a Language Server for Prolog

Kaydedildi:
Detaylı Bibliyografya
Yayımlandı:PQDT - Global (2025)
Yazar: dos Santos Castro Videira, Martim Afonso Rodrigues
Baskı/Yayın Bilgisi:
ProQuest Dissertations & Theses
Konular:
Online Erişim:Citation/Abstract
Full Text - PDF
Etiketler: Etiketle
Etiket eklenmemiş, İlk siz ekleyin!

MARC

LEADER 00000nab a2200000uu 4500
001 3275479944
003 UK-CbPIL
020 |a 9798265424679 
035 |a 3275479944 
045 2 |b d20250101  |b d20251231 
084 |a 189128  |2 nlm 
100 1 |a dos Santos Castro Videira, Martim Afonso Rodrigues 
245 1 |a Development of a Language Server for Prolog 
260 |b ProQuest Dissertations & Theses  |c 2025 
513 |a Dissertation/Thesis 
520 3 |a This thesis presents the design and implementation of a dialect-agnostic Language Server for Prolog, developed to enhance the development experience across diverse Prolog dialects—specifically targeting both SICStus Prolog, a closed-source standard-compliant implementation, and SWIProlog, a widely-used open-source variant.The server is built around a parser-based static analysis pipeline using Tree-sitter, enabling modern editor features such as go-to-definition, hover documentation, diagnostics, and semantic tokenization. A core design goal was to remain interpreter-independent while addressing the complexities of Prolog’s dynamic syntax, runtime-modifiable operator definitions, and semanticaltering directives such as. The system achieves portability and configurability by embedding metadata within the source code, adopting PlDoc as a standard documentation interface, and transforming SICStus documentation to PlDoc format for unified support.To evaluate its effectiveness, the language server was used as a static linting engine across hundreds of student submissions. The analysis revealed common and recurring errors—such as singleton variables, undefined predicates, and directive misuses—which the server would have reported during development, potentially saving students from losing marks. Although the qualitative user study could not be carried out due to timing constraints, its structure was designed to assess the tool’s usability and value in future iterations.Beyond its immediate functionality, the language server acts as a platform for future innovation in Prolog tooling. Through the LSP’s workspace/executeCommand interface, the system allows the seamless integration of arbitrary external tools, enabling research prototypes or new analyses to be deployed directly within developer environments. This extensibility minimizes the friction of adopting new tools, allowing them to benefit from existing infrastructure and editor integrations.The result is a modular, reusable, and scalable foundation for enhancing the Prolog development experience. This work not only bridges a long-standing tooling gap, but also establishes a path forward for embedding research into practice and scaling Prolog support in both educational and professional contexts. 
653 |a Language 
653 |a Syntax 
653 |a Semantics 
653 |a Linguistics 
653 |a Engineering 
773 0 |t PQDT - Global  |g (2025) 
786 0 |d ProQuest  |t ProQuest Dissertations & Theses Global 
856 4 1 |3 Citation/Abstract  |u https://www.proquest.com/docview/3275479944/abstract/embedded/H09TXR3UUZB2ISDL?source=fedsrch 
856 4 0 |3 Full Text - PDF  |u https://www.proquest.com/docview/3275479944/fulltextPDF/embedded/H09TXR3UUZB2ISDL?source=fedsrch