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.
Preview
Unable to display preview. Download preview PDF.
References
ANSI (1966). FORTRAN. ANS X3.9-1966, American National Standards Institute, New York.
Backus, J. W. and Heising, W. P. (1964). "FORTRAN," IEEE. Trans. on Electronic Computers, Vol. EC-13, p. 382.
Bauer, F. L. (ed.) (1974). Compiler Construction. Heidelberg: Springer-Verlag. (Lecture Notes in Computer Science, Vol. 21.)
BBN. (1974). BCPL Manual. Cambridge: Bolt, Beranek and Newman, Inc.
Birrell, A. D. (1976). ALGOL68C Implementors' Guide. Second Edition, Computing Laboratory, U. of Cambridge.
Bourne, S. R. (1975). ZCODE — A Simple Machine. Edition 7, Computing Laboratory, U. of Cambridge.
Cheney, C. J. Private Communication.
Cox, G. W. (1975). Portability and Adaptability in Operating Systems Design. Ph.D. Thesis, Purdue University.
Coleman, S. S., Poole, P. C., and Waite, W. M. (1974a). The Mobile Programming System: Janus, Software — Practice and Experience, Vol. 4, p. 5.
Coleman, S. S. (1974b). Janus: A Universal Intermediate Language. Ph.D. Thesis, University of Colorado.
Dennis, J. B. (1975). "Modularity," in Software Engineering, Bauer, F. L., (Ed.) Lecture Notes in Computer Science, Vol. 30, p. 128.
Dunn, R. C. and Waite, W. M. (1976). "Truncation and Integer Division." In preparation.
Fletcher, J. G. (1975). "No! High Level Languages Should Not be Used to Write Systems Software," Proc. ACM Natl. Conf., p. 209.
Gabriel, J. (1976). Remarks at the Los Alamos Workshop on Software Portability.
Gary, J., and Helgason, R. (1972). "An Extension of FORTRAN Containing Finite Difference Operators," Software — Practice and Experience, Vol. 2, p. 321.
Gentleman, M. (1976). Private Communication.
Goos, Gerhard (1974). Some Thoughts on Variables. Bericht nr. 19/74, Fakultaet fuer Informatik, Universitaet Karlsruhe.
Heath. (1968). Assembly and Operation of the Laboratory 5 Oscilloscope Model 10–12. Benton Harbor: Heath Company.
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.
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.
Jensen, K., and Wirth, N., (1974). PASCAL User Manual and Report. Heidelberg: Springer-Verlag.
Johnston, J. B., (1971). "The Contour Model of Block Structured Processes," SIGPLAN Notices, Vol. 6, No. 2, p. 55.
Kernighan, B. W. (1975). "RATFOR — A Preprocessor for Rational Fortran," Software — Practice and Experience, Vol. 5, p. 395.
Lucas, P. and Walk, K. (1970). "On the Formal Definition of PL/1," Ann. Rev. in Automatic Programming, p. 105.
McCarthy, J. (1960). "Recursive Functions of Symbolic Expressions and their Computation by Machine, Part 1," CACM, Vol. 3, p. 184.
McKellar, A. C. and Coffman, E. G. Jr. (1969). "Organizing Matrices and Matrix Operations for Paged Memory Systems," CACM, Vol. 12, p. 153.
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.
Moler, C. B. (1972). "Matrix Computations with FORTRAN and Paging," CACM, Vol. 15, p. 268.
Naur, P. (Ed.) (1963). "Revised Report on the Algorithmic Language ALGOL 60," Computer J., Vol. 5, p. 349.
Poole, P. C. (1971). "Hierarchical Abstract Machines," Proc. Culham Symp. on Software Engineering, p. 1.
Richards, M. (1969). "BCPL: A Tool for Compiler Writing and Systems Programming," Proc. AFIPS SJCC, Vol. 34, p. 89.
Richards, M. (1971). "The Portability of the BCPL Compiler," Software — Practice and Experience, Vol. 1, p. 135.
Richards, M. (1972). INTCODE — An Interpretive Machine Code for BCPL. Computer Laboratory, U. of Cambridge.
Ryder, B. G. (1974). "The PFORT Verifier," Software — Practice and Experience, Vol. 4, p. 359.
Tennent, R. D. (1976). "The Denotational Semantics of Programming Languages," CACM, Vol. 19, p. 437.
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.
Waite, W. M. (1973). Implementing Software for Non-Numeric Applications. Englewood-Cliffs: Prentice-Hall.
Waite, W. M. (1975a). "Hints on Distributing Portable Software," Software — Practice and Experience, Vol. 5, p. 295.
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.
Waite, W. M. (1976). Janus Memory Mapping! The J1 Abstraction. Tech. Rept. SEG-76-1, Dept. of Electrical Engineering, U. of Colorado.
Weizenbaum. J. (1963). Symmetric List Processor. CACM, Vol. 6, p. 524.
Whitby-Strevens, C. (1976). Private Communication.
Editor information
Rights 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