Debugging with Domain-specific Events via Macros

Update Item Information
Title Debugging with Domain-specific Events via Macros
Publication Type dissertation
School or College College of Engineering
Department Computing
Author Li, Xiangqi
Date 2017
Description Domain-specific languages (DSLs) are increasingly popular, and there are a variety of ways to create a DSL. A DSL designer might write an interpreter from scratch, compile the DSL to another language, express DSL concepts using only the existing forms of an existing language, or implement DSL constructs using a language's extension capabilities, including macros. While extensible languages can offer the easiest opportunity for creating a DSL that takes advantage of the language's existing infrastructure, existing tools for debugging fail to adequately adapt the debugging experience to a given domain. This dissertation addresses the problem of debugging DSLs defined with macros and describes an event-oriented approach that works well with a macro-expansion view of language implementation. It pairs the mapping of DSL terms to host terms with an event mapping to convert primitive events back to domain-specific concepts. Domain-specific events can be further inspected or manipulated to construct domain-specific debuggers. This dissertation presents a core model of evaluation and events and also presents a language design-analogous to pattern-based notations for macros, but in the other direction-for describing how events in a DSL's expansion are mapped to events at the DSL's level. The domain-specific events can enable useful, domain-specific debuggers, and the dissertation introduces a design for a debugging framework to help with debugger construction. To validate the design of the debugging framework, a debugging framework, Ripple, is implemented, and this dissertation demonstrates that with a modest amount of work, Ripple can support building domain-specific debuggers.
Type Text
Publisher University of Utah
Subject Computer science
Dissertation Name Doctor of Philosophy
Language eng
Rights Management (c) Xiangqi Li
Format application/pdf
Format Medium application/pdf
ARK ark:/87278/s6jh825r
Setname ir_etd
ID 1423597
Reference URL https://collections.lib.utah.edu/ark:/87278/s6jh825r
Back to Search Results