Skip navigation
  • Home
  • Browse
    • Communities
      & Collections
    • Browse Items by:
    • Publication Date
    • Author
    • Title
    • Subject
    • Department
  • Sign on to:
    • My MacSphere
    • Receive email
      updates
    • Edit Profile


McMaster University Home Page
  1. MacSphere
  2. Open Access Dissertations and Theses Community
  3. Open Access Dissertations and Theses
Please use this identifier to cite or link to this item: http://hdl.handle.net/11375/30989
Title: LEVER: A Framework for DSL Editor Support
Authors: Lachance, Alexandre
Advisor: Mosser, Sébastien
Department: Computing and Software
Keywords: Domain-Specific Languages;Framework;Language Server Protocol;Editor Tooling
Publication Date: 2024
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.
URI: http://hdl.handle.net/11375/30989
Appears in Collections:Open Access Dissertations and Theses

Files in This Item:
File Description SizeFormat 
lachance_alexandre_202412_masc.pdf
Open Access
3.1 MBAdobe PDFView/Open
Show full item record Statistics


Items in MacSphere are protected by copyright, with all rights reserved, unless otherwise indicated.

Sherman Centre for Digital Scholarship     McMaster University Libraries
©2022 McMaster University, 1280 Main Street West, Hamilton, Ontario L8S 4L8 | 905-525-9140 | Contact Us | Terms of Use & Privacy Policy | Feedback

Report Accessibility Issue