Which one of the following is NOT performed during compilation?
View worked solution
Answer: A
To determine which task is not performed during compilation, let us analyze each option:
- Dynamic memory allocation (Option A): This refers to allocating memory on the heap during the execution (runtime) of the program (e.g., using
malloc()in C ornewin C++). The compiler merely generates the machine code instructions to request this memory, but the actual allocation happens only at runtime. Hence, this is not performed during compilation. - Type checking (Option B): This is a key part of the semantic analysis phase of a compiler, where the compiler verifies that the types of operands match the expected types.
- Symbol table management (Option C): The symbol table is a crucial data structure maintained by the compiler across almost all phases (lexical, syntax, semantic analysis, etc.) to store information about identifiers, their types, scopes, and locations.
- Inline expansion (Option D): Also known as function inlining, this is an optimization technique performed by the compiler where a function call is replaced directly with the body of the called function to eliminate call overhead.
Therefore, Dynamic memory allocation is the only task that is not performed during compilation.
Free practice · Your answers on this page are not saved.
