|
ABSTRACT
Work with compiler compilers has dealt principally with automatic generation of parsers and lexical analyzers. Until recently, little work has been done on formalizing and generating the back end of a compiler, particularly an optimizing compiler. This paper describes formalizations of machines and code generators and describes a scheme for the automatic derivation of code generators from machine descriptions. It was possible to separate all machine dependence from the code generation algorithms for a wide range of typical architectures (IBM-360, PDP-11, PDP-10, Intel 8080) while retaining good code quality. Heuristic search methods from work in artificial intelligence were found to be both fast and general enough for use in generation of code generators with the machine representation proposed. A scheme is proposed to perform as much analysis as possible at code generator generation time, resulting in a fast pattern-matching code generator. The algorithms and representations were implemented to test their practicality in use.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
ALLEN, F., CARTER, J., HARRISON, W., LOEWNER, P., TAPSCOTT, R., TREVILLYAN, L., AND WECMAN, M. The experimental compiling systems project. IBM Res. Rep. RC 6718 (#28922), IBM, Yorktown Heights, N. Y., 1977.
|
| |
2
|
BARBACCI, M., BARNES, G., CATTELL, R., AND SIEWIOREK, D. ISPS reference manual. Tech. Rep. TR 79-137 (latest revision), Comput. Sci., Carnegie-Mellon Univ., Pittsburgh, Pa., 1977.
|
| |
3
|
BARBACCI, M., AND SIEWIOREK, D. The CMU RT-CAD system: An innovative approach to computer aided design. Carnegie-Mellon Univ. Comput. Sci. Rev., 1974-1975.
|
| |
4
|
|
| |
5
|
CATTELL, R.G. A survey and critique of some models of code generation. Unnumbered Tech. Rep., Comput. Sci., Carnegie-Mellon Univ., Pittsburgh, Pa., 1977.
|
| |
6
|
|
 |
7
|
Roderic G.G. Cattell , Joseph M. Newcomer , Bruce W. Leverett, Code generation in a machine-independent compiler, Proceedings of the 1979 SIGPLAN symposium on Compiler construction, p.65-75, August 06-10, 1979, Denver, Colorado, United States
|
| |
8
|
|
| |
9
|
ELSON, M., AND RAKE, S.T. Code-generation technique for large-language compilers. IBM Syst. J. 9, 3 (1970), 166-188.
|
| |
10
|
FELDMAN, J. A formal semantics for computer-oriented languages. Ph.D. dissertation, Comput. Sci., Carnegie-Mellon Univ., Pittsburgh, Pa., 1964.
|
 |
11
|
|
| |
12
|
|
| |
13
|
|
 |
14
|
|
| |
15
|
HOBBS, S. Object code optimization. Unpublished thesis proposal, Comput. Sci., Carnegie- Mellon Univ., Pittsburgh, Pa., 1976.
|
 |
16
|
|
| |
17
|
LEIVE, G. The binding of modules to abstract digital hardware descriptions. Unpublished thesis proposal, Elec. Eng., Carnegie-Mellon Univ., Pittsburgh, Pa., 1977.
|
| |
18
|
LEVERETT, B., CATTELL, R., HOBBS, S., NEWCOMER, J., REINER, A., SCHATZ, B., AND WULF, W. An overview of the production quality compiler-compiler project. Tech. Rep. TR 79-105, Comput. Sci., Carnegie-Mellon Univ., Pittsburgh, Pa., Feb. 1979 (condensation to appear in IEEE Comput.).
|
| |
19
|
LUCKHAM, D.C., PARK, D.M.R., AND PATERSON, M.S. On formalized computer programs. J. Comput. Syst. Sci. 4, 3 (1970), 220-249.
|
| |
20
|
MCKEEMAN, W.M., HORNING, J.J., AND WORTMAN, D.B. A Compiler Generator. Prentice-Hall, Englewood Cliffs, N.J., 1970.
|
| |
21
|
|
| |
22
|
|
| |
23
|
OAKLEY, J.D. Automatic generation of diagnostics from ISP. Unpublished thesis proposal, Comput. Sci., Carnegie-Mellon Univ., Pittsburgh, Pa., Dec. 1976.
|
| |
24
|
|
| |
25
|
REISER, J., ET AL. SAIL Stanford Artificial Intelligence Lab. Memo. AIM-289, Comput. Sci., Stanford Univ., Stanford, Calif., 1976.
|
| |
26
|
RIPKEN, K. Formale Beschreibung von Maschinen, Implementierungen und optimierender Maschinencodeerzeugung aus attributierten Programmgraphe. Dissertation, Technische Univ. Munchen, Munich, Germany, 1977.
|
| |
27
|
|
| |
28
|
SIMONEAUX, D.C. High-level language compiling for user-definable architectures. Ph.D. dissertation, Elec. Eng., Naval Postgraduate School, 1975.
|
| |
29
|
|
| |
30
|
|
| |
31
|
WroTE, J.R. JOSSLE: A language for specifying and structuring the semantic phase of translators. Ph.D. dissertation, Univ. California at Santa Barbara, 1973.
|
| |
32
|
|
| |
33
|
Wmcox, T.R. Generating machine code for high-level programming languages. Ph.D. dissertation, Comput. Sci., Cornell Univ., Ithaca, N.Y., 1971.
|
| |
34
|
|
| |
35
|
YOUNC, R. The coder: A program module for code generation in high-level language compilers. M.S. thesis, Comput. Sci., Univ. Illinois, Urbana, 1974.
|
CITED BY 34
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
J. Eliot B. Moss , Trek Palmer , Timothy Richards , Edward K. Walters, II , Charles C. Weems, CISL: a class-based machine description language for co-generation of compilers and simulators, International Journal of Parallel Programming, v.33 n.2, p.231-246, June 2005
|
|
|
|
|
|
|
|