A hybrid interpreter in a software development environment

  • Gregor Engels
  • Andreas Schürr
III — The Internals Of Environments: The Bones
Part of the Lecture Notes in Computer Science book series (LNCS, volume 289)


This paper describes the realization of an execution tool for Modula-2 modules which is part of an integrated tool set in a software development environment termed IPSEN (Incremental Programming Support Environment). In this environment, all software documents, e.g. Modula-2 modules, are manipulated by syntax-directed editors and are represented internally by attributed graphs. The execution of Modula-2 modules is done by two cooperating interpreters. The first one is a graph interpreter which traverses the internal graph from statement to statement. These statements are translated into a low-level, more efficiently executable object code and interpreted by a second interpreter. This concept of a hybrid interpreter allows the realization of an execution tool which offers a lot of runtime support features to the user.

Key words

software development environment programming-in-the-small integrated tool set testing support interpreter incremental compiler Modula-2 attributed graph 

Un interprétateur hybride dans un environnement de programmation


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [AMN 81]
    Atkinson, L.V./McGregor, J.J./North, S.D.: 1981 Context sensitive editing as an approach to incremental compilation, The Computer Journal, Vol. 24, No. 3, 222–229Google Scholar
  2. [DH 84]
    Donzeau-Gouge, V./Huet, G./Kahn, G./Lang, B.: 1984 Programming Environments Based on Structured Editors: The Mentor Experience, in: Barstow, D.R. et al. (eds.): Interactive Programming Environments, McGraw-HillGoogle Scholar
  3. [DoD 80]
    DoD: 1980 Reference Manual for the Ada Programming Language, LNCS 106, Berlin: SpringerGoogle Scholar
  4. [EC 72]
    Earley, P./Caizergues, A.: A Method for Incrementally Compiling Languages with Nested Statement Structure, CACM, Vol. 15, No. 12Google Scholar
  5. [En 86]
    Engels, G.: 1986 Graphs as Central Data Structures in a Software Development Environment, Ph.D. thesis, (in german), Düsseldorf: VDI-VerlagGoogle Scholar
  6. [ENS 87]
    Engels, G./Nagl, M./Schäfer, W.: 1987 On the Structure of Structure-Oriented Editors for Different Applications, in Proc. of the SecondSymposium on Practical Software Environments, Palo Alto, ACM SIGPLAN Notices, Vol.22, No. 1, 190–198Google Scholar
  7. [ES 85a]
    Engles, G./Schafter, W.: 1985a Graph Grammar Engineering: A Method Used for the Development of an Integrated Programming Support Environment, in LNCS 1986, 179–193, Berlin: SpringerGoogle Scholar
  8. [ES 85b]
    Engels, G./Schäfer, W.: 1985b The Design of an Adaptive and Portable Programming Support Environment, in Valle, G./Bucci, G. (eds.): Proc. of the International Computing Symposium 1985, Florence, Italy, 297–308, Amsterdam: North-HollandGoogle Scholar
  9. [Fr 84]
    Fritzson, P.: 1984 Preliminary Experience from the DICE System, A Distributed Incremental Compiling Environment, in ACM SIGPLAN Notices, Vol. 19, No. 5, 113–123Google Scholar
  10. [Ha 82]
    Habermann, N. et al.: 1982 The Second Compendium of Gandalf Documentation, technical report, Dept. of Computer Science, Carnegie-Mellon University, PittsburgGoogle Scholar
  11. [LN 85]
    Lewerentz, C./Nagl, M.: 1985 Incremental Programming in the Large: Syntax-aided Specification Editing, Integration and Maintenance, in Proc. of the 18th Hawaii International Conference on System Sciences, Vol. 2, 638–649Google Scholar
  12. [Lo 65]
    Lock, K.: 1965 Structuring Programs for Multiprogram Time-Sharing On-Line Applications, in: Proc. AFIPS, FJCC 27, 457–472Google Scholar
  13. [Na 80]
    Nagl, M.: 1980 An Incremental Compiler as Part of a System for Software Development, in IFB, Vol. 25, 29–44, Berlin: SpringerGoogle Scholar
  14. [Na 85]
    Nagl, M.: 1985 An Incremental Programming Support Environment, in Computer Physics Communications 38, 245–276, Amsterdam: North-HollandGoogle Scholar
  15. [PD 82]
    Pemberton, St./Daniels, M.: 1982 Pascal Implementation: The P4 Compiler, Chichester: Ellis Horwood Ltd.Google Scholar
  16. [Rei 84]
    Reiss, St.P.: 1984 An Approach to Incremental Compilation,, Proc. of the ACM SIGPLAN '84 Symp. on Compiler Construction, SIGPLAN Notices, Vol. 19, No. 6, 144–151Google Scholar
  17. [Re 84]
    Reps, Th.: Generating Language Based Environments, MIT-PressGoogle Scholar
  18. [Ro 83]
    Robson, D.J.: 1983 An evaluation of throw-away compiling, Software — Practice and Experience, Vol. 13, No. 3, 241–149Google Scholar
  19. [Sa 86]
    Sandbrink, A.: Design and Implementation of a Testing and Runtime Support Regarding Interpreter, Master's thesis, (in german), University of OsnabrueckGoogle Scholar
  20. [Sc 86]
    Schäfer, W.: 1986 An Integrated Software Development Environment: Concepts, Design, and Implementation, Ph.D. thesis, (in german), Düsseldorf: VDI-VerlagGoogle Scholar
  21. [Sc 72]
    Schmidt, H.A.: A User Oriented and Efficient Incremental Compiler, in Proc. Int. Comp. Symp., Venice, 259–269Google Scholar
  22. [SDB 84]
    Schwartz, M.D./Delisle, N.M./Begwani, V.S.: 1984 Incremental Compilation in Magpie, Proc. of the ACM SIGPLAN '84 Symp. on Compiler Construction, SIGPLAN Notices, Vol. 19, No. 6, 122–131Google Scholar
  23. [TR 81]
    Teitelbaum, T./Reps, Th.: 1981 The Cornell Program Synthesizer: A Syntax-Directed Programming Environment, in: CACM, Vol. 24, No. 9, 563–573Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1987

Authors and Affiliations

  • Gregor Engels
    • 1
  • Andreas Schürr
    • 2
  1. 1.FB 17, Universität MainzMainzWest Germany
  2. 2.Informatik IIIRWTH AachenAachenWest Germany

Personalised recommendations