Skip to main content

Intermediate languages: Current status

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 57))

Abstract

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.

This is a preview of subscription content, log in via an institution.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. ANSI (1966). FORTRAN. ANS X3.9-1966, American National Standards Institute, New York.

    Google Scholar 

  2. Backus, J. W. and Heising, W. P. (1964). "FORTRAN," IEEE. Trans. on Electronic Computers, Vol. EC-13, p. 382.

    Google Scholar 

  3. Bauer, F. L. (ed.) (1974). Compiler Construction. Heidelberg: Springer-Verlag. (Lecture Notes in Computer Science, Vol. 21.)

    Google Scholar 

  4. BBN. (1974). BCPL Manual. Cambridge: Bolt, Beranek and Newman, Inc.

    Google Scholar 

  5. Birrell, A. D. (1976). ALGOL68C Implementors' Guide. Second Edition, Computing Laboratory, U. of Cambridge.

    Google Scholar 

  6. Bourne, S. R. (1975). ZCODE — A Simple Machine. Edition 7, Computing Laboratory, U. of Cambridge.

    Google Scholar 

  7. Cheney, C. J. Private Communication.

    Google Scholar 

  8. Cox, G. W. (1975). Portability and Adaptability in Operating Systems Design. Ph.D. Thesis, Purdue University.

    Google Scholar 

  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. Coleman, S. S. (1974b). Janus: A Universal Intermediate Language. Ph.D. Thesis, University of Colorado.

    Google Scholar 

  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. Dunn, R. C. and Waite, W. M. (1976). "Truncation and Integer Division." In preparation.

    Google Scholar 

  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. Gabriel, J. (1976). Remarks at the Los Alamos Workshop on Software Portability.

    Google Scholar 

  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. Gentleman, M. (1976). Private Communication.

    Google Scholar 

  17. Goos, Gerhard (1974). Some Thoughts on Variables. Bericht nr. 19/74, Fakultaet fuer Informatik, Universitaet Karlsruhe.

    Google Scholar 

  18. Heath. (1968). Assembly and Operation of the Laboratory 5 Oscilloscope Model 10–12. Benton Harbor: Heath Company.

    Google Scholar 

  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. 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. Jensen, K., and Wirth, N., (1974). PASCAL User Manual and Report. Heidelberg: Springer-Verlag.

    Google Scholar 

  22. Johnston, J. B., (1971). "The Contour Model of Block Structured Processes," SIGPLAN Notices, Vol. 6, No. 2, p. 55.

    Google Scholar 

  23. Kernighan, B. W. (1975). "RATFOR — A Preprocessor for Rational Fortran," Software — Practice and Experience, Vol. 5, p. 395.

    Google Scholar 

  24. Lucas, P. and Walk, K. (1970). "On the Formal Definition of PL/1," Ann. Rev. in Automatic Programming, p. 105.

    Google Scholar 

  25. McCarthy, J. (1960). "Recursive Functions of Symbolic Expressions and their Computation by Machine, Part 1," CACM, Vol. 3, p. 184.

    Google Scholar 

  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. 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. Moler, C. B. (1972). "Matrix Computations with FORTRAN and Paging," CACM, Vol. 15, p. 268.

    Google Scholar 

  29. Naur, P. (Ed.) (1963). "Revised Report on the Algorithmic Language ALGOL 60," Computer J., Vol. 5, p. 349.

    Google Scholar 

  30. Poole, P. C. (1971). "Hierarchical Abstract Machines," Proc. Culham Symp. on Software Engineering, p. 1.

    Google Scholar 

  31. Richards, M. (1969). "BCPL: A Tool for Compiler Writing and Systems Programming," Proc. AFIPS SJCC, Vol. 34, p. 89.

    Google Scholar 

  32. Richards, M. (1971). "The Portability of the BCPL Compiler," Software — Practice and Experience, Vol. 1, p. 135.

    Google Scholar 

  33. Richards, M. (1972). INTCODE — An Interpretive Machine Code for BCPL. Computer Laboratory, U. of Cambridge.

    Google Scholar 

  34. Ryder, B. G. (1974). "The PFORT Verifier," Software — Practice and Experience, Vol. 4, p. 359.

    Google Scholar 

  35. Tennent, R. D. (1976). "The Denotational Semantics of Programming Languages," CACM, Vol. 19, p. 437.

    Google Scholar 

  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. Waite, W. M. (1973). Implementing Software for Non-Numeric Applications. Englewood-Cliffs: Prentice-Hall.

    Google Scholar 

  38. Waite, W. M. (1975a). "Hints on Distributing Portable Software," Software — Practice and Experience, Vol. 5, p. 295.

    Google Scholar 

  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. 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. Weizenbaum. J. (1963). Symmetric List Processor. CACM, Vol. 6, p. 524.

    Google Scholar 

  42. Whitby-Strevens, C. (1976). Private Communication.

    Google Scholar 

Download references

Authors

Editor information

Wayne Cowell

Rights and permissions

Reprints and permissions

Copyright information

© 1977 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Waite, W.M. (1977). Intermediate languages: Current status. In: Cowell, W. (eds) Portability of Numerical Software. Lecture Notes in Computer Science, vol 57. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-08446-0_45

Download citation

  • DOI: https://doi.org/10.1007/3-540-08446-0_45

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-08446-4

  • Online ISBN: 978-3-540-37071-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics