ACM Home Page
Please provide us with feedback. Feedback
Automatic Derivation of Code Generators from Machine Descriptions
Full text PdfPdf (1.24 MB)
Source ACM Transactions on Programming Languages and Systems (TOPLAS) archive
Volume 2 ,  Issue 2  (April 1980) table of contents
Pages: 173 - 190  
Year of Publication: 1980
ISSN:0164-0925
Author
R. G. Cattell  Xerox Palo Alto Research Center, 3333 Coyote Hill Road, Palo Alto, CA
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 3,   Downloads (12 Months): 46,   Citation Count: 34
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/357094.357097
What is a DOI?

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
 
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