Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Multilingual Debugging Using a Compiler

IP.com Disclosure Number: IPCOM000100234D
Original Publication Date: 1990-Mar-01
Included in the Prior Art Database: 2005-Mar-15
Document File: 2 page(s) / 64K

Publishing Venue

IBM

Related People

Owens, PJ: AUTHOR

Abstract

This article describes a method (the "compile/interpret method") for evaluating arbitrary source-language expressions while interactively debugging a program written in a higher-level language. It makes novel use of the compiler coupled with an intermediate-language interpreter to perform such evaluations. A consequence of this method is that the debugger will automatically "understand" all languages compiled by the compiler.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 52% of the total text.

Multilingual Debugging Using a Compiler

       This article describes a method (the "compile/interpret
method") for evaluating arbitrary source-language expressions while
interactively debugging a program written in a higher-level language.
 It makes novel use of the compiler coupled with an
intermediate-language interpreter to perform such evaluations.   A
consequence of this method is that the debugger will automatically
"understand" all languages compiled by the compiler.

      When a programmer is engaged in the process of interactively
debugging a program written in a higher-level language (C, Fortran,
Pascal), he normally will let the program run to a given point of
interest, and then suspend it at that point in order to investigate
the current state of the computation. He will frequently wish to see
the values of certain objects within the current context.  For
example, if he has stopped at a certain point in a program which has
a variable "B", he may ask for the value of "B" by entering a
debugger command of the form "evaluate B", or its equivalent.  He may
wish to obtain the value of the expression "((A*B)**2)/(X-1)", or any
expression that the source language permits, including function
calls.

      This invention proposes that the debugger, when presented with
such an expression for evaluation, proceed as follows: (1)  Call the
compiler with the expression as input so as to generate "intermediate
language" (IL) code representing the evaluation o...