This docu=ent has bee,, *ppIovd for public release and sole; its I distribufino is Unli•tited.
93-28010 93 11 15 039Form Approved NEPORT DOCUMENTATION PAGE oM 0ov74-018 P u b lc r edi o r i n b u fr d f f 9 '•n h c Ois cl t o n o f I n t r -A tl n * -i -i t --4 vf o 1 c e , wr te . t h e t i m e to , 'e .-'aw -9,,•9' ts de a rc h in g e vtl . c r0t. i iMo 0e s gatherinq and maintaining the data needed, and (orpoietnnq meri the (ollecdon of information Sond comments regarding this burden estimate or any other auxed of ths, I € ofltOn O nformation. in(cuding suggestons for rvauoncq this burden to WVahinqton Neadquarters Ser'vifets ,tsrelorate f Or iformIation Overstions and flite ri. Block 13 continued:system," built upon the idea that symbolic debuggers can be divided into three components: a set of source language interface routines, a set of machine architecture interface routines, and a language-independent and architecture-independent debugger skeleton. Maygen then exploits this modularity: First, Maygen precisely defines as well as houses the languageindependent and architecture-independent debugger skeleton. Second, Maygen defines the protocol for interface interaction among source language developers, machine architecture developers, and the general-purpose debugger skeleton. Finally, Maygen provides a framework in which the resident debugger skeleton is automatically developed into a stand-alone symbolic debugger; the resulting debugger is tailored to the specific provisions of a particular language group and a particular architecture group. With the development of high-level languages for new computer architectures comes the need for appropriate debugging tools as well. One method for meeting this need would be to develop, from scratch, a symbolic debugger with the introduction of each new language implementation for any given architecture. This, however, seems to require unnecessary duplication of effort among developers. Compilation technology has alleviated some duplication of effort in the development of compilers. Can similar ideas aid in the efficient development of symbolic debuggers as well?Maygen explores the possibility of making debugger development efficient by influencing the language and architecture development processes. Maygen is a "debugger generation system," built upon the idea that symbolic debuggers can be divided into three components: a set of source language interface routines, a set of machine architecture interface routines, and a language-independent and architecture-independent debugger skeleton. Maygen then exploits this modularity: First, Maygen precisely defines as well as houses the languageindependent and architecture-independent debugger skeleton. Second, Maygen defines the protocol for interface interaction among source language developers, machine architecture developers, and the general-purpose debugger skeleton. Finally, Maygen provides a framework in which the resident debugger skeleton is automatically developed into a stand-alone symbolic debugger; the resulting ...