Please use this identifier to cite or link to this item:
http://hdl.handle.net/11375/30989
Full metadata record
DC Field | Value | Language |
---|---|---|
dc.contributor.advisor | Mosser, Sébastien | - |
dc.contributor.author | Lachance, Alexandre | - |
dc.date.accessioned | 2025-01-29T19:45:49Z | - |
dc.date.available | 2025-01-29T19:45:49Z | - |
dc.date.issued | 2024 | - |
dc.identifier.uri | http://hdl.handle.net/11375/30989 | - |
dc.description.abstract | While Domain-Specific Languages (DSLs) offer greater expressiveness for domain-specific tasks than General-Purpose Languages (GPLs), they have smaller communities behind them and fewer resources available. This is often reflected in the quantity and quality of available tooling for DSLs as compared to GPLs. This disparity is particularly evident in the case of DSL in-editor support where developers have become accustomed to features such as syntax-highlighting, auto-completion, and context-aware renaming. Developing such tooling for DSLs is challenging due to the significant effort required to implement features from scratch. To address this problem, this thesis proposes Lever , a framework for building editor support for DSLs. To reduce implementation cost and stay lightweight, Lever utilizes existing language artifacts (the grammar and the existing tooling). It uses a rule-based system that adds the necessary semantics to map the Concrete Syntax Tree (CST) to a language agnostic Abstract Syntax Tree (AST) and Symbol Table (ST). Lever enables cross-editor compatibility through the usage of the Language Server Protocol (LSP). The practical use of Lever is demonstrated through a case study on building editor support for the P4 DSL. Furthermore, a comparison with Langium and MPS in implementing language support for the Protobuf DSL reveals that Lever offers greater ease of use and functionality for this use case. | en_US |
dc.language.iso | en | en_US |
dc.subject | Domain-Specific Languages | en_US |
dc.subject | Framework | en_US |
dc.subject | Language Server Protocol | en_US |
dc.subject | Editor Tooling | en_US |
dc.title | LEVER: A Framework for DSL Editor Support | en_US |
dc.type | Thesis | en_US |
dc.contributor.department | Computing and Software | en_US |
dc.description.degreetype | Thesis | en_US |
dc.description.degree | Master of Applied Science (MASc) | en_US |
dc.description.layabstract | Domain-Specific Languages (DSLs) are specialized programming languages made to solve domain specific problems. They are powerful and efficient tools for developers working within those specific domains. However, creating editor support for DSLs (e.g., syntax highlighting, code completion), is challenging due to their smaller user bases and complexities involved in development. For this reason, developers using DSLs often lack the tooling they have become accustomed to with General-Purpose Languages (GPLs). This thesis addresses these challenges by proposing the Lever framework, a lightweight and adaptable solution for building language support tooling targeting DSLs. Lever leverages existing artifacts and a rule-based system to provide editor support, making DSLs more accessible and user-friendly. A case study using Lever to build editor support for an industry DSL demonstrates its practical application, while a comparison of implementing language support for the Protobuf DSL with Lever , Langium, and MPS highlights Lever ’s superior ease of use and functionality. | en_US |
Appears in Collections: | Open Access Dissertations and Theses |
Files in This Item:
File | Description | Size | Format | |
---|---|---|---|---|
lachance_alexandre_202412_masc.pdf | 3.1 MB | Adobe PDF | View/Open |
Items in MacSphere are protected by copyright, with all rights reserved, unless otherwise indicated.