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
Full metadata record
DC FieldValueLanguage
dc.contributor.advisorMosser, Sébastien-
dc.contributor.authorLachance, Alexandre-
dc.date.accessioned2025-01-29T19:45:49Z-
dc.date.available2025-01-29T19:45:49Z-
dc.date.issued2024-
dc.identifier.urihttp://hdl.handle.net/11375/30989-
dc.description.abstractWhile 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.isoenen_US
dc.subjectDomain-Specific Languagesen_US
dc.subjectFrameworken_US
dc.subjectLanguage Server Protocolen_US
dc.subjectEditor Toolingen_US
dc.titleLEVER: A Framework for DSL Editor Supporten_US
dc.typeThesisen_US
dc.contributor.departmentComputing and Softwareen_US
dc.description.degreetypeThesisen_US
dc.description.degreeMaster of Applied Science (MASc)en_US
dc.description.layabstractDomain-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 SizeFormat 
lachance_alexandre_202412_masc.pdf
Open Access
3.1 MBAdobe PDFView/Open
Show simple 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