How debuggers work: algorithms, data structures, and architecture
How debuggers work: algorithms, data structures, and architecture
JastAdd: an aspect-oriented compiler construction system
Science of Computer Programming - Special issue: Language descriptions, tools and applications (LDTA'01)
Essentials of Constraint Programming
Essentials of Constraint Programming
DMS®: Program Transformations for Practical Scalable Software Evolution
Proceedings of the 26th International Conference on Software Engineering
Toward an engineering discipline for grammarware
ACM Transactions on Software Engineering and Methodology (TOSEM)
Testing domain-specific languages in eclipse
OOPSLA '05 Companion to the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Grammar-driven generation of domain-specific language testing tools
OOPSLA '05 Companion to the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Automated generation of testing tools for domain-specific languages
Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering
Grammar-driven generation of domain-specific language tools
Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications
Grammar-driven generation of domain-specific language debuggers
Software—Practice & Experience
ANTLRWorks: an ANTLR grammar development environment
Software—Practice & Experience
Unit Testing for Domain-Specific Languages
DSL '09 Proceedings of the IFIP TC 2 Working Conference on Domain-Specific Languages
Multilanguage Debugger Architecture
SOFSEM '10 Proceedings of the 36th Conference on Current Trends in Theory and Practice of Computer Science
TIDE: A Generic Debugging Framework --- Tool Demonstration ---
Electronic Notes in Theoretical Computer Science (ENTCS)
Modeling in the large and modeling in the small
MDAFA'03 Proceedings of the 2003 European conference on Model Driven Architecture: foundations and Applications
Term rewriting meets aspect-oriented programming
Processes, Terms and Cycles
mbeddr: an extensible C-based programming language and IDE for embedded systems
Proceedings of the 3rd annual conference on Systems, programming, and applications: software for humanity
Hi-index | 0.00 |
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.