
186 Compilers – Principles and Practice
Static storage allocation: Also called Compile-time storage allocation. This method is adequate for
languages with statically defined data structures, for example FORTRAN.
Dynamic storage allocation: Also called Run-time storage allocation. This method is required and
used for languages with dynamically defined data structures and recursive subroutines, for example
PASCAL, C, ALGOL, C++, Java.
Explicit or implicit heap storage allocation: Also called On-demand storage allocation. This
method of storage allocation is required and used by languages in which execution-time storage
allocation requests by ...