Grammar-driven generation of domajin-specific language debuggers

被引:42
作者
Wu, Hui [1 ]
Gray, Jeff [1 ]
Mernik, Marjan [2 ]
机构
[1] Univ Alabama Birmingham, Dept Comp & Informat Sci, Birmingham, AL 35294 USA
[2] Univ Maribor, Fac Elect Engn & Comp Sci, SLO-2000 Maribor, Slovenia
基金
美国国家科学基金会;
关键词
debugging; DSL; GPL; grammars; program environments-integrated environments;
D O I
10.1002/spe.863
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Domain-specific languages (DSLs) assist a software developer (or end-user) in writing a program using idioms that are similar to the abstractions round in a specific problem domain. Tool support for DSIs is lacking when compared with the capabilities provided for standard general-purpose languages (GPLs), such as Java and C++. For example, support for debugging a program written in a DSL is often non-existent. The lack of a debugger at the proper abstraction level limits an end-user's ability to discover and locate faults in a DSL program. This paper describes a grammar-driven technique to build a debugging tool generation framework from existing DSL grammars. The DSL grammars are used to generate the hooks needed to interface with a supporting infrastructure constructed for an integrated development environment that assists in debugging a program written in a DSL. The contribution represents a coordinated approach to bring essential software tools (e.g. debuggers) to different types of DSLs (e.g. imperative, declarative, and hybrid). This approach hides from the end-users the accidental complexities associated with expanding the focus of a language environment to include debuggers. The research described in this paper addresses a long-term goal of empowering end-users with development tools for particular DSL problem domains at the proper level of abstraction without depending on a specific GPL. Copyright (C) 2007 John Wiley & Sons, Ltd.
引用
收藏
页码:1073 / 1103
页数:31
相关论文
共 60 条
[1]  
Aho A.V., 2007, COMPILERS PRINCIPLES
[2]  
[Anonymous], 2003, CONTRIBUTING ECLIPSE
[3]  
[Anonymous], DEBUGGERS WORK ALGOR
[4]  
Ashenden P.J., 2002, The Designer's Guide to VHDL
[5]   Mawl: A domain-specific language for form-based services [J].
Atkins, DL ;
Ball, T ;
Bruns, G ;
Cox, K .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1999, 25 (03) :334-346
[6]  
Auguston M., 1995, AADEBUG. 2nd International Workshop on Automated and Algorithmic Debugging, P277
[7]  
AUGUSTON M, 1998, ECAI WORKSH SPAT TEM, P19
[8]   Scaling step-wise refinement [J].
Batory, D ;
Sarvela, JN ;
Rauschmayer, A .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2004, 30 (06) :355-371
[9]   LITTLE LANGUAGES [J].
BENTLEY, J .
COMMUNICATIONS OF THE ACM, 1986, 29 (08) :711-721
[10]   Concrete syntax for objects - Domain-specific language embedding and assimilation without restrictions [J].
Bravenboer, M ;
Visser, E .
ACM SIGPLAN NOTICES, 2004, 39 (10) :365-383