Intermediate languages: Current status

  • W. M. Waite
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 57)


Intermediate languages are often used or proposed to increase the portability of a system. This paper examines the general characteristics and current status of the technique, and indicates areas in which further work is needed.


Elementary Action State Component Address Space Source Language Source Program 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    ANSI (1966). FORTRAN. ANS X3.9-1966, American National Standards Institute, New York.Google Scholar
  2. 2.
    Backus, J. W. and Heising, W. P. (1964). "FORTRAN," IEEE. Trans. on Electronic Computers, Vol. EC-13, p. 382.Google Scholar
  3. 3.
    Bauer, F. L. (ed.) (1974). Compiler Construction. Heidelberg: Springer-Verlag. (Lecture Notes in Computer Science, Vol. 21.)Google Scholar
  4. 4.
    BBN. (1974). BCPL Manual. Cambridge: Bolt, Beranek and Newman, Inc.Google Scholar
  5. 5.
    Birrell, A. D. (1976). ALGOL68C Implementors' Guide. Second Edition, Computing Laboratory, U. of Cambridge.Google Scholar
  6. 6.
    Bourne, S. R. (1975). ZCODE — A Simple Machine. Edition 7, Computing Laboratory, U. of Cambridge.Google Scholar
  7. 7.
    Cheney, C. J. Private Communication.Google Scholar
  8. 8.
    Cox, G. W. (1975). Portability and Adaptability in Operating Systems Design. Ph.D. Thesis, Purdue University.Google Scholar
  9. 9.
    Coleman, S. S., Poole, P. C., and Waite, W. M. (1974a). The Mobile Programming System: Janus, Software — Practice and Experience, Vol. 4, p. 5.Google Scholar
  10. 10.
    Coleman, S. S. (1974b). Janus: A Universal Intermediate Language. Ph.D. Thesis, University of Colorado.Google Scholar
  11. 11.
    Dennis, J. B. (1975). "Modularity," in Software Engineering, Bauer, F. L., (Ed.) Lecture Notes in Computer Science, Vol. 30, p. 128.Google Scholar
  12. 12.
    Dunn, R. C. and Waite, W. M. (1976). "Truncation and Integer Division." In preparation.Google Scholar
  13. 13.
    Fletcher, J. G. (1975). "No! High Level Languages Should Not be Used to Write Systems Software," Proc. ACM Natl. Conf., p. 209.Google Scholar
  14. 14.
    Gabriel, J. (1976). Remarks at the Los Alamos Workshop on Software Portability.Google Scholar
  15. 15.
    Gary, J., and Helgason, R. (1972). "An Extension of FORTRAN Containing Finite Difference Operators," Software — Practice and Experience, Vol. 2, p. 321.Google Scholar
  16. 16.
    Gentleman, M. (1976). Private Communication.Google Scholar
  17. 17.
    Goos, Gerhard (1974). Some Thoughts on Variables. Bericht nr. 19/74, Fakultaet fuer Informatik, Universitaet Karlsruhe.Google Scholar
  18. 18.
    Heath. (1968). Assembly and Operation of the Laboratory 5 Oscilloscope Model 10–12. Benton Harbor: Heath Company.Google Scholar
  19. 19.
    Hedberg, R. (1963). "Design of an Integrated Programming and Operating System Part III: The Expanded Function of the Loader," IBM Systems J. Vol. 2, p. 298.Google Scholar
  20. 20.
    Hoare, C. A. R., and Lauer, P. E., (1974). "Consistent and Complementary Formal Theories of the Semantics of Programming Languages," Acta Informatica, Vol. 3, p. 335.Google Scholar
  21. 21.
    Jensen, K., and Wirth, N., (1974). PASCAL User Manual and Report. Heidelberg: Springer-Verlag.Google Scholar
  22. 22.
    Johnston, J. B., (1971). "The Contour Model of Block Structured Processes," SIGPLAN Notices, Vol. 6, No. 2, p. 55.Google Scholar
  23. 23.
    Kernighan, B. W. (1975). "RATFOR — A Preprocessor for Rational Fortran," Software — Practice and Experience, Vol. 5, p. 395.Google Scholar
  24. 24.
    Lucas, P. and Walk, K. (1970). "On the Formal Definition of PL/1," Ann. Rev. in Automatic Programming, p. 105.Google Scholar
  25. 25.
    McCarthy, J. (1960). "Recursive Functions of Symbolic Expressions and their Computation by Machine, Part 1," CACM, Vol. 3, p. 184.Google Scholar
  26. 26.
    McKellar, A. C. and Coffman, E. G. Jr. (1969). "Organizing Matrices and Matrix Operations for Paged Memory Systems," CACM, Vol. 12, p. 153.Google Scholar
  27. 27.
    Mock, O., Olsztyn, T., Strong, J., Steel, T., Tritter, A., and Wegstein, J., (1958). "The Problem of Programming Communication with Changing Machines: A Proposed Solution," CACM, Vol. 1, p. 12.Google Scholar
  28. 28.
    Moler, C. B. (1972). "Matrix Computations with FORTRAN and Paging," CACM, Vol. 15, p. 268.Google Scholar
  29. 29.
    Naur, P. (Ed.) (1963). "Revised Report on the Algorithmic Language ALGOL 60," Computer J., Vol. 5, p. 349.Google Scholar
  30. 30.
    Poole, P. C. (1971). "Hierarchical Abstract Machines," Proc. Culham Symp. on Software Engineering, p. 1.Google Scholar
  31. 31.
    Richards, M. (1969). "BCPL: A Tool for Compiler Writing and Systems Programming," Proc. AFIPS SJCC, Vol. 34, p. 89.Google Scholar
  32. 32.
    Richards, M. (1971). "The Portability of the BCPL Compiler," Software — Practice and Experience, Vol. 1, p. 135.Google Scholar
  33. 33.
    Richards, M. (1972). INTCODE — An Interpretive Machine Code for BCPL. Computer Laboratory, U. of Cambridge.Google Scholar
  34. 34.
    Ryder, B. G. (1974). "The PFORT Verifier," Software — Practice and Experience, Vol. 4, p. 359.Google Scholar
  35. 35.
    Tennent, R. D. (1976). "The Denotational Semantics of Programming Languages," CACM, Vol. 19, p. 437.Google Scholar
  36. 36.
    van Wijngaarden, A., Mailloux, B. J., Peck, J. E. L., Koster, C. H. A., Sintzoff, M., Lindsey, C. H., Meertens, L. G. L. T., and Fisker, R. G., (1975). "Revised Report on the Algorithmic Language ALGOL 68," Acta Informatica, Vol. 5, p. 1.Google Scholar
  37. 37.
    Waite, W. M. (1973). Implementing Software for Non-Numeric Applications. Englewood-Cliffs: Prentice-Hall.Google Scholar
  38. 38.
    Waite, W. M. (1975a). "Hints on Distributing Portable Software," Software — Practice and Experience, Vol. 5, p. 295.Google Scholar
  39. 39.
    Waite, W. M. and Haddon, B. K. (1975b). A Preliminary Definition of Janus. Tech. Rept. SEG-75-1, Dept. of Electrical Engineering, U. of Colorado.Google Scholar
  40. 40.
    Waite, W. M. (1976). Janus Memory Mapping! The J1 Abstraction. Tech. Rept. SEG-76-1, Dept. of Electrical Engineering, U. of Colorado.Google Scholar
  41. 41.
    Weizenbaum. J. (1963). Symmetric List Processor. CACM, Vol. 6, p. 524.Google Scholar
  42. 42.
    Whitby-Strevens, C. (1976). Private Communication.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1977

Authors and Affiliations

  • W. M. Waite

There are no affiliations available

Personalised recommendations