Abstract
An important component of an abstract machine’s interpreter is the one dealing with memory management. If this component can be extremely simple in a physical machine, memory management for an abstract machine for a high-level language is fairly complicated and can employ a range of techniques. In this chapter we will see both static and dynamic management and will examine activation records, the system stack and the heap. One section in particular is dedicated to the data structures and mechanisms used to implement scope rules. Conceptually, garbage-collection techniques, techniques for the automatic recovery of memory allocated in a heap, are included in memory management. To make the presentation more coherent, these techniques will be explained in Chap. 8, after having dealt with data types and pointers.
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
A. V. Aho, R. Sethi, and J. D. Ullman. Compilers: Principles, Techniques, and Tools. Addison-Wesley, Reading, 1988.
R. P. Cook and T. J. LeBlanc. A symbol table abstraction to implement languages with explicit scope control. IEEE Trans. Softw. Eng., 9(1):8–12, 1983.
B. Randell and L. J. Russell. Algol 60 Implementation. Academic Press, London, 1964.
C. Shaffer. A Practical Introduction to Data Structures and Algorithm Analysis. Addison-Wesley, Reading, 1996.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
Copyright information
© 2010 Springer-Verlag London
About this chapter
Cite this chapter
Gabbrielli, M., Martini, S. (2010). Memory Management. In: Programming Languages: Principles and Paradigms. Undergraduate Topics in Computer Science. Springer, London. https://doi.org/10.1007/978-1-84882-914-5_5
Download citation
DOI: https://doi.org/10.1007/978-1-84882-914-5_5
Published:
Publisher Name: Springer, London
Print ISBN: 978-1-84882-913-8
Online ISBN: 978-1-84882-914-5
eBook Packages: Computer ScienceComputer Science (R0)