Skip to main content

Code Generation

  • Chapter
Compiler Construction

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 21))

  • 560 Accesses

Abstract

A source language definition specifies the evaluation procedures for the constructs of the language in terms of a set of primitive operators and operands provided for this purpose. If the source language is machine-independent, then these primitives are necessarily abstractions, as discussed in Chapter 3.A. Code generation is the process of implementing an evaluation procedure in terms of the primitives of a particular target computer. The basic approach is to simulate the evaluation procedure in the environment (register organization and addressing structure) provided by the target computer: A description of the run-time contents of the environment is maintained by the code generator. When the evaluation procedure indicates that the contents should be altered, then code to perform the alteration is emitted and the description is updated.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 74.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  • Arden, B.W., Galler, B.A., Graham, R.M.: The MAD definition facility. CACM 12, 432–439 (1969).

    Article  Google Scholar 

  • Beatty, J.C.: Register assignment algorithm for generation of highly optimized object code. IBM J. Res. Dev. 18, 20–39 (1974).

    MATH  MathSciNet  Google Scholar 

  • Capon, P.C., Morris, D., Rohl, J.S., Wilson, I.R.: The MU5 compiler target language and autocode. Computer J. 15, 109–112 (1972).

    Google Scholar 

  • Conway, R.W., Wilcox, T.R.: Design and implementation of a diagnostic compiler for PL/I. CACM 16, 169–179 (1973).

    Article  Google Scholar 

  • Elson, M., Rake, S.T.: Code Generation Techniques for large-language compilers. IBM Systems J. 9, 166–188 (1970).

    Google Scholar 

  • IBM: IBM System/360 Principles of Operation. Sixth Edition, IBM Corp. 1967.

    Google Scholar 

  • IBM: IBM System/360 Operating System FORTRAN IV (H) Compiler Program Logic Manual. Fourth Edition, IBM Corp. 1968.

    Google Scholar 

  • Mealy, G.H.: A generalized assembly system. In Rosen, S. (ed.) Programming Systems and Languages. McGraw-Hill 1967.

    Google Scholar 

  • Naur, P.: The design of the GIER ALGOL compiler. Ann. Rev. in Automatic Programming 4, 49–85 (1964).

    Chapter  Google Scholar 

  • van Wijngaarden, A. (ed.): Report on the algorithmic language ALGOL 68. Num. Math. 14, 29–218 (1969).

    Google Scholar 

  • Wilcox, T.R.: Generating Machine Code for High-Level Programming Languages. Ph.D. Thesis, Cornell University 1971.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1974 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Waite, W.M. (1974). Code Generation. In: Bauer, F.L., Eickel, J. (eds) Compiler Construction. Lecture Notes in Computer Science, vol 21. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-21549-4_13

Download citation

  • DOI: https://doi.org/10.1007/978-3-662-21549-4_13

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-06958-4

  • Online ISBN: 978-3-662-21549-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics