This Article 
 Bibliographic References 
 Add to: 
A Transportable Programming Language (TPL) System. II. The Bifunctional Compiler System
June 1990 (vol. 16 no. 6)
pp. 639-646

The transportable programming language (TPL) method is a high-level-language approach that uses a bifunctional compiler to efficiently convert code among various dialects of a particular high-level language (HLL) via the hypothetical parent of the high-level language (HPHLL). The TPL compiler system that has been implemented has three parts: a rule modifier, a table generator, and a TPL compiler. A metalanguage, called the conversion rule description language (CRDL), is used to describe the conversion of a dialect to HPHLL and of the HPHLL to another dialect. The table generator translates those descriptions to tabular forms that drive the bifunctional compiler. The TPL compiler can then be used to translate programs coded in a local dialect into HPHLL and vice versa. The rule modifier alters the descriptions of a default-a synthetic 'most common'-dialect. It greatly simplifies the task of writing the conversion descriptions for a new environment or dialect. The TPL method is now being extended so that it can be used to retarget a dialect of any HLL to a standard environment such as Ada. Details of the TPL compiler system are given.

[1] P. A. D. de Maine, S. Leong, and C. G. Davis, "A transportable programming language (TPL) system. I. Overview,"Int. J. Comput. Inform. Sci., vol. 14, pp. 161-182, 1985.
[2] P. A. D. de Maine and S. Leong, "Transportation of programs," inProc. 15th Southeastern Symp. System Theory, 1983, pp. 158-164.
[3] S. Leong, H. Mehrooz, P. A. D. de Maine, and C. G. Davis, "Methods for transporting programs," inProc. COMPSAC 1983, pp. 49- 59.
[4] P. A. D. de Maine and C. G. Davis, "Specification for a transportable programming language system," inProc. COMPSAC 1982, pp. 468-494.
[5] For example: a) H. F. Legard,ADA: An Introduction and the ADA Reference Manual. New York: Springer-Verlag, 1981, 356 pp. b) Collection of ADA papers inProc. ACM SIGPLAN Symp. ADA Programming Language (ACM SIGPLAN Notices), vol. 15, no. 11, 1980.
[6] a) B. G. Ryder, "The PFORT verifier,"Software--Practice and Experience, vol. 4, pp. 359-377, 1974. b) B. G. Ryder, "The FORTRAN verifier, users guide," Bell Telephone Labs., Murray Hill, NJ, Comput. Sci. Tech. Rep. 12, 1973.
[7] T. J. Aird, E. L. Battiste, and W. C. Gregory, "Portability of mathematical software coded in FORTRAN,"ACM Trans. Math. Software, vol. 3, pp. 113-117, 1977.
[8] a) P. J. Brown,Macro Processors and Techniques for Portable Systems. New York: Wiley, 1974. b) P. J. Brown,Writing Interactive Compilers and Interpreters. New York: Wiley, 1979.
[9] 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, vol. 2, pp. 107-136, 1972.
[10] O. Lecarme and M. C. Peyrolle-Thomas, "Self-compiling compilers: An appraisal of their implementation and portability,"Software-- Practice and Experience, vol. 8, pp. 149-170, 1978.
[11] AT&T Bell Laboratories,Unix System V Programmer's Manual, 1985.
[12] P. A. D. de Maine, "Programming language for networks,"Data Commun., vol. 10, pp. 685-698, 1981.
[13] O. Jiang, P. A. D. de Maine, S. Leong, and S. Jodis,User Manual for Hypothetical Parent FORTRAN, Auburn Univ., Auburn, AL, Tech. Rep. BMDTPL.S04, June 1986; available from the U.S. Army Strategic Defense Command, P.O. Box 1500, Huntsville, AL.
[14] O. Jiang, "Implementation of rule modifier and definition of hypothetical parent FORTRAN (HPFORTRAN)," M.S. thesis, Auburn Univ., Auburn, AL, 1986.
[15] R. S. Scowen, "An introduction to the standard syntactic metalanguage," Nat. Physical Lab., Teddington, Middlesex, England, Rep. DNACS 47/81.
[16] A. V. Aho and J. D. Ullman,Principles of Compiler Design. Reading, MA: Addison-Wesley, 1978.
[17] N. Chomsky, "Three models for the description of language,"IRE Trans. Inform. Theory, vol. IT-2, pp. 113-124, 1956.
[18] Naur, P. (ed.). 1963. "Revised Report on the Algorithmic Language Algol 60,"Comm. ACM 6, pp. 1- 17.
[19] S. Leong, "Design and Implementation of a bifunctional compiler system for transporting programming languages," Ph.D. dissertation, Auburn Univ., Auburn, AL, 1986.
[20] S. Leong, P. A. D. de Maine, O. Jiang, and S. Jodis, "System Manual for the bifunctional HLL-TPL compiler system," Auburn Univ., Auburn, AL, Tech. Rep. BMDTPL.S05, June 1986.
[21] A. V. Aho and J. D. Ullman,Principles of compiler Design. Reading, MA: Addison-Wesley, 1978, ch. 12, 13.
[22] A. V. Aho and J. D. Ullman,Principles of Compiler Design. Reading, MA: Addison-Wesley, 1978, ch. 6.
[23] C. McCreary and H. Gill, "Automatic determination of grain size for efficient parallel processing,"Commun. ACM, vol. 32, pp. 1073-1078, Sept., 1989.

Index Terms:
code conversion, program translation; transportable programming language; high-level-language; bifunctional compiler; hypothetical parent; rule modifier; table generator; metalanguage; conversion rule description language; tabular forms; high level languages; program compilers.
S. Leong, S. Jodis, K. Sullivan, O. Jiang, P.A.D. de Maine, "A Transportable Programming Language (TPL) System. II. The Bifunctional Compiler System," IEEE Transactions on Software Engineering, vol. 16, no. 6, pp. 639-646, June 1990, doi:10.1109/32.55092
Usage of this product signifies your acceptance of the Terms of Use.