Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/1066677.1066986acmconferencesArticle/Chapter ViewAbstractPublication PagessacConference Proceedingsconference-collections
Article

Weaving a debugging aspect into domain-specific language grammars

Published: 13 March 2005 Publication History

Abstract

A common trend in programming language specification is to generate various tools (e.g., compiler, editor, profiler, and debugger) from a grammar. In such a generative approach, it is desirable to have the definition of a programming language be modularized according to specific concerns specified in the grammar. However, it is often the case that the corresponding properties of the generated tools are scattered and tangled across the language specification. In this paper, separation of concerns within a programming language specification is demonstrated by considering debugging support within a domain-specific language (DSL). The paper first describes the use of AspectJ to weave the debugging semantics into the code created by a parser generator. The paper outlines several situations when the use of AspectJ is infeasible at separating language specification properties. To accommodate such situations, a second approach is presented that weaves the debugging support directly into a grammar specification using a program transformation engine. A case study for a simple DSL is presented to highlight the benefits of weaving across language specifications defined by grammars.

References

[1]
The AspectJ web site (http://aspectj.org).]]
[2]
ANTLR - ANother Tool for Language Recognition, available from http://www.antlr.org/.]]
[3]
Ira Baxter, Christopher Pidgeon, and Michael Mehlich, "DMS: Program Transformation for Practical Scalable Software Evolution," International Conference on Software Engineering (ICSE), Edinburgh, Scotland, May 2004, pp. 625--634.]]
[4]
Jonathan B. Rosenberg, How Debuggers Work- Algorithms, Data Structures, and Architecture, John Wiley & Sons. Inc, New York, NY, 1996.]]
[5]
Uwe Aßmann, Invasive Software Composition, Springer-Verlag, 2003.]]
[6]
Paul Klint, Ralf Lammel, and Chris Verhoef, "Towards an Engineering Discipline for Grammarware," http://www.cs.vu.nl/grammarware/.]]
[7]
Marjan Mernik, Matej Crepinsek, Tomaz Kosar, Damijan Rebernak, and Viljem Zumer, "Grammar-Based Systems: Definition and Examples," Journal of Informatica, accepted for publication - 2004.]]
[8]
Hui Wu, Jeff Gray, and Marjan Mernik, "Debugging Domain-Specific Languages in Eclipse," OOPSLA Eclipse Technology Exchange Poster Session, Vancouver, BC, October 2004.]]
[9]
Oege de Moor, Simon Peyton-Jones, and Eric Van Wyk, "Aspect-Oriented Compilers," Generative and Component-Based Software Engineering, Springer-Verlag LNCS 1799, September 1999, pp. 121--133.]]
[10]
Görel Hedin and Eva Magnusson, "JastAdd-an Aspect-Oriented Compiler Construction System," Science of Computer Programming, April 2003, pp. 37--58.]]
[11]
The JUnit web site (http://www.junit.org).]]

Cited By

View all
  • (2022)On Comprehension of Genetic Programming Solutions: A Controlled Experiment on Semantic InferenceMathematics10.3390/math1018338610:18(3386)Online publication date: 18-Sep-2022
  • (2019)Lessons learned from developing mbeddrSoftware and Systems Modeling (SoSyM)10.1007/s10270-016-0575-418:1(585-630)Online publication date: 1-Feb-2019
  • (2017)Debugging with domain-specific events via macrosProceedings of the 10th ACM SIGPLAN International Conference on Software Language Engineering10.1145/3136014.3136019(91-102)Online publication date: 23-Oct-2017
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
SAC '05: Proceedings of the 2005 ACM symposium on Applied computing
March 2005
1814 pages
ISBN:1581139640
DOI:10.1145/1066677
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 13 March 2005

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. AOSD
  2. DSLs
  3. debugging
  4. grammarware

Qualifiers

  • Article

Conference

SAC05
Sponsor:
SAC05: The 2005 ACM Symposium on Applied Computing
March 13 - 17, 2005
New Mexico, Santa Fe

Acceptance Rates

Overall Acceptance Rate 1,650 of 6,669 submissions, 25%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)1
  • Downloads (Last 6 weeks)0
Reflects downloads up to 26 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2022)On Comprehension of Genetic Programming Solutions: A Controlled Experiment on Semantic InferenceMathematics10.3390/math1018338610:18(3386)Online publication date: 18-Sep-2022
  • (2019)Lessons learned from developing mbeddrSoftware and Systems Modeling (SoSyM)10.1007/s10270-016-0575-418:1(585-630)Online publication date: 1-Feb-2019
  • (2017)Debugging with domain-specific events via macrosProceedings of the 10th ACM SIGPLAN International Conference on Software Language Engineering10.1145/3136014.3136019(91-102)Online publication date: 23-Oct-2017
  • (2015)Extensible Debugger Framework for Extensible LanguagesReliable Software Technologies – Ada-Europe 201510.1007/978-3-319-19584-1_3(33-49)Online publication date: 9-Jun-2015
  • (2014)Creating, Debugging, and Testing Mobile Applications with the IPAC Application Creation EnvironmentSoftware Design and Development10.4018/978-1-4666-4301-7.ch033(695-718)Online publication date: 2014
  • (2013)Creating, Debugging, and Testing Mobile Applications with the IPAC Application Creation EnvironmentFormal and Practical Aspects of Domain-Specific Languages10.4018/978-1-4666-2092-6.ch012(341-364)Online publication date: 2013
  • (2013)Reversible Language Extensions and Their Application in DebuggingProceedings of the 15th International Symposium on Practical Aspects of Declarative Languages - Volume 775210.1007/978-3-642-45284-0_14(206-221)Online publication date: 21-Jan-2013
  • (2012)mbeddrProceedings of the 3rd annual conference on Systems, programming, and applications: software for humanity10.1145/2384716.2384767(121-140)Online publication date: 19-Oct-2012
  • (2009)Domain-specific aspect languages for modularising crosscutting concerns in grammarsIET Software10.1049/iet-sen.2007.01143:3(184)Online publication date: 2009
  • (2009)Multilanguage Debugger ArchitectureProceedings of the 36th Conference on Current Trends in Theory and Practice of Computer Science10.1007/978-3-642-11266-9_61(731-742)Online publication date: 8-Dec-2009
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media