Abstract
A Transportable Programming Language, TPL, is defined as one that can be used to codeany program that will compile and correctly execute onany machine in a designated range. The range specifies only the minimum software and hardware needed to support the TPL. A HLL-TPL System is one that, in addition to supporting the TPL, can be used to transport any program coded in a dialect of the High-Level Language, HLL, so that it will compile and correctly execute on any machine in a designated range.
Methods of implementing a HLL-TPL System are reviewed and it is demonstrated that theSuperset Method, in which the Hypothetical Parent of the HLL (HPHLL) acts as the intermediate language between the dialects of a HLL, leads to a fully transportable High-Level Language—the HPHLL—whose only parameters are: The amount of memory available; and the maximum module size exclusive of arrays. The ongoing work to realize a production version of the FORTRAN-TPL system is described. Its essential characteristic is a fully transportable bifunctional FORTRAN-TPL compiler that converts a dialect of FORTRAN to the intermediate language, HPFORTRAN, and visa-versa.
Similar content being viewed by others
References
P. A. D. de Maine and C. G. Davis, Specification for a Transportable Programming Language System,Proc. COMPSAC, p. 486–494 (1982).
P. A. D. de Maine and C. G. Davis, JOBLIST-A General Data-Structure for Communicating, Manipulating and Managing Information in a Distributed Environment,Proc. Third Int. Conf. on Distributed Comp. Sys., p. 98–103 (1982).
H. F. Legard, ADA: An Introduction and the ADA Reference Manual, Springer-Verlag, New York, 356 pp. (1981); Collection of ADA papers in: Proc. of the ACM SIGPLAN Symposium on the ADA Programming Language, ACM SIGPLAN Notices,15(11) (1980).
R. J. Munn and J. M. Stewart, RATMAC-A Preprocessor for Writing Portable Scientific Software,Software-Practice and Experience,10:743–749 (1980).
W. T. Wyatt, Jr., D. W. Lozier, and D. J. Orser, A Portable Extended Precision Arithmetic Package and Library with FORTRAN Precompiler,ACM Trans. on Math. Software,2:209–231 (1976).
G. S. Tsiang, D. C. Peterson and J. F. Price, FORTRAN Language Standardization Study, Tech. Rep. D180-14266-1, Boeing Co., Seattle, Washington (1972); J. R. Wolberg, Comparing the Cost of Software Conversion to Cost of Programming,ACM SIGPLAN Notices,16(4):104–110 (1981).
S. Leong, H. Mehrooz, P. A. D, de Maine, and C. G. Davis, Methods for Transporting Programs,Proc. COMPSAC, p. 49–59 (1983).
B. G. Ryder, The PFORT Verifier,Software-Practice and Experience,4:359–377 (1974); B. G. Ryder, The FORTRAN Verifier, Users Guide, Computing Sci. Tech. Rep. 12, Bell Telephone Laboratories, Murray Hill, New Jersey (1973).
T. J. Aird, E. L. Battiste, and W. C. Gregory, Portability of Mathematical Software Coded in FORTRAN,ACM Trans. on Math. Software,3:113–117 (1977).
P. J. Brown, Macro Processors and Techniques for Portable Systems, John Wiley and Sons, New York (1974); P. J. Brown, Writing Interactive Compilers and Interpreters, John Wiley and Sons, New York (1979).
M. C. Newey, P. C. Poole, and M. W. Waite, Abstract Machine Modelling to Produce Portable Software-A Review and Evaluation,Software-Practice and Experience,2:107–136 (1972).
O. Lecarme and M. C. Peyrolle-Thomas, Self-Compiling Compilers: An Appraisal of their Implementation and Portability,Software-Practice and Experience,8:149–170 (1978).
D. E. Whitten and P. A. D. de Maine, A Machine and Configuration Independent FORTRAN: Portable FORTRAN (PFORTRAN),IEEE Trans. on Software Eng.,SE-1: 111–124 (1975).
J. W. Goodwin, Why Programming Environments Need Dynamic Data-Types,IEEE Trans. on Software Eng.,SE-7:451–457 (1981).
D. E. Whitten and P. A. D. de Maine, Operations and Logic Manual for Portable FORTRAN (PFORTRAN), Report 1 of the Series: Global Management Systems, Computer Science Dept, Pennsylvania State University, University Park, Pennsylvania (1975).
D. E. Whitten and P. A. D. de Maine, The TPL Programming Language, Report 2 of the Series: Global Management Systems, Computer Science Dept., Pennsylvania State University, University Park, Pennsylvania (1976).
P. A. D. de Maine, A Programming Language for Networks,Data Comm.,10:70–76 (1981).
C. Burgess and L. James, An Indexed Bibliography for LR Grammars and Parser,ACM SIGPLAN Notices,16(8):14–26 (1981).
S. Leong and P. A. D. de Maine, Design of a TPL Compiler System-A System for Transporting High Level Language Programs, Proc. 16th Southeastern Symposium on System Theory, p. 51–57 (1984).
R. G. Cattrell, J. M. Newcomer, and B. W. Leverett, Code Generation in a Machine Independent Compiler,ACM SIGPLAN Notices,14(8):65–75 (1975).
R. Buhler, P-STAT Portability,Proc. Comp. Sci. and Statistics, 8th Ann. Sym. on the Interface, University of California, Los Angeles, p. 165–172 (1975).
D. E. Whitten, Design and Implementation of a Programming System for the Production of Transportable Software, Ph.D. Thesis, Pennsylvania State University, University Park, Pennsylvania (1976).
R. S. Dewar and A. P. McCann, MACRO SPITBOL-A SNOBOL4 Compiler,Software-Practice and Experience,7:95–113 (1977).
R. G. Cattrell, Automatic Derivation of Code Generators from Machine Descriptions,ACM TOPLAS,2:173–190 (1980).
N. Wirth, PL360, A Programming Language for 360 Computers,J. Assoc. Comp. Mach.,15:37–74 (1968).
W. S. Wulf, D. B. Russell, and A. N. Habermann, BLISS-A Language for Systems Programming,Comm. Assoc. Comp. Mach.,14:780–790 (1971).
P. A. D. de Maine and D. E. Whitten, Design for a Distributed Information System,Adv. in Infor. Sys. Sci.,7:89–155 (1978).
M. V. Wilkes, An Experiment with a Self-Compiling Compiler for a Simple List Processing Language,Ann. Rev. of Automatic Programming,4:1–4 (1964).
R. Meeson and A. Pyster, Overhead in FORTRAN Preprocessors,Software-Practice and Experience,9:987–999 (1979).
American National Standard Programming Language FORTRAN, ANSI X 3.9, American Standards Institute, 1430 Broadway, New York, N.Y. 10018 (1978).
B. Colton, The Advanced Flexible Processor, Array Architecture, in Supercomputers in Chemistry, P. Lykos and I. Shavitt (eds), Am. Chem. Soc. Symp. Series, No. 173, Washington, D.C. (1981).
C. R. Vick, S. P. Kartashev and S. J. Kartashev, Adaptable Architectures for Supersystems,IEEE Computer,13:17–36 (1980).
B. W. Kernighan, RATFOR-A Preprocessor for a Rational Fortran,Software-Practice and Experience,3:395–406 (1975).
J. B. Moore and L. J. Makela, Structured FORTRAN with WATFIV, Reston Publishing Co., Inc., Reston, Virginia (1978).
R. Conway and D. Gries, An Introduction to Programming-A Structured Approach Using PL/I and PL/C, Winthrop Publishers Inc., Cambridge, Massachusetts (1979).
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
de Maine, P.A.D., Leong, S. & Davis, C.G. A Transportable Programming Language (TPL) System. I. overview. International Journal of Computer and Information Sciences 14, 161–182 (1985). https://doi.org/10.1007/BF00991004
Received:
Revised:
Issue Date:
DOI: https://doi.org/10.1007/BF00991004