Abstract
In the previous chapter we started by arguing that writing programs in machine code was tedious and error prone, and what we really needed was an assembler and linker to do some of the work for us. As programs get larger and more complex, one can start to use the same argument against assemblers and linkers: often they are too low-level, and higher-level programming tools are required. This has led to the invention of a variety of high-level languages, such as C, and compilers which translate programs written in those languages into low-level versions suitable for processing by assemblers and linkers. In this chapter the aim is to focus on the aspects of compiler tools which relate to the processors that eventually execute their output. That is, we shy away from issues of language design and focus on, for example, effective selection of machine instructions to implement a given program.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Author information
Authors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag London Limited
About this chapter
Cite this chapter
Page, D. (2009). Compilers. In: Practical Introduction to Computer Architecture. Texts in Computer Science. Springer, London. https://doi.org/10.1007/978-1-84882-256-6_11
Download citation
DOI: https://doi.org/10.1007/978-1-84882-256-6_11
Publisher Name: Springer, London
Print ISBN: 978-1-84882-255-9
Online ISBN: 978-1-84882-256-6
eBook Packages: Computer ScienceComputer Science (R0)