Title: A language-oriented interactive programming environment based on compilation technology
Abstract: This work is a feasibility study of a Language-Oriented Interactive Programming Environment (LOIPE) based solely on compilation. In this new approach to compiler-based environments we show that integrated interactive programming environments are not limited to interpretive systems, and that programming environments can have an understanding of the programmer's task and actively contribute to its solution. A prototype of LOIPE has been implemented.
LOIPE is language-oriented. Both language-oriented program construction and language-oriented debugging are supported through a syntax-directed structure editor. This editor maintains a program tree as the primary program representation, but presents the user with a textual source program view. The debugger's functions are expressed in form of language constructs, utilizing the expressive power and abstraction mechanisms of the supported language, and are invoked by editing the program tree.
LOIPE is an integrated programming environment centered around the program tree. The structure editor is used as a uniform interface. LOIPE takes responsibility for the integrity of the program data base, i.e., the program tree augmented with semantic and status information and the executable object code. The maintenance of the program representations and the invocation of tools is hidden from the user. The distinction between program manipulation and debugging diminishes.
LOIPE is interactive. Semantic errors are detected and reported while the user is still in context. Flexibility is provided by supporting the partial execution of programs with incomplete or semantically incorrect parts. Programs can be executed at any time.
LOPIE is an incremental programming environment. All processing steps of the compiler-based environment are performed incrementally between editing operations allowing for fast response time. Even LOIPE's debugger is realized with this incremental program replacement mechanism. By doing so debugging for optimizing code generators are supported.
We discuss the design and implementation of LOIPE both from the user's view and under the aspect of a solely compiler-based system. Our feasibility claim of LOIPE is substantiated by an evaluation of the design and the prototype implementation. The evaluation includes measurements on the running prototype and a discussion of the generation of LOIPE for a specific language.
Publication Year: 1982
Publication Date: 1982-01-01
Language: en
Type: article
Access and Citation
Cited By Count: 15
AI Researcher Chatbot
Get quick answers to your questions about the article from our AI researcher chatbot