On the Suitability of LSP and DAP for Domain-Specific Languages
Résumé
Domain-Specific Languages (DSLs) help manage the growing complexity of systems by facilitating their description and execution or simulation via tailored languages. A large part of the development costs of a DSL comes from building the associated tools it requires, such as an editor or a debugger. To reduce these costs, the Language Server Protocol (LSP) and Debug Adapter Protocol (DAP) enable the creation of generic tooling interfaces which rely on standardized services exposed by languages. However, as these protocols have been designed for General Purpose Languages (GPLs), their applicability to DSLs has no yet been extensively studied. In this paper, we analyze both LSP and DAP, with an emphasis regarding their relevance for the development of tooling for DSLs. We provide both a highlevel insight into these protocols, such as a dependency graph of their services, and a more fine-grained qualitative analysis of each service. We show that while some services defined by these two protocols can be provided by any DSL, others make strong assumptions on the concepts that should be part of the considered DSL. Conversely, domain-specific concepts available in some DSLs are not exploitable through these protocols, thus reducing the capabilities of generic tools.
Origine | Fichiers produits par l'(les) auteur(s) |
---|