StreakPeaked· Practice

ExamsGATETechnical

Which of the following are true? I. A programming language which does not permit global variables of any kind and has no nesting of procedures/functions, but permits recursion can be implemented with static storage allocation II. Multi-level access link (or display) arrangement is needed to arrange activation records only if the programming language being implemented has nesting of procedures/functions III. Recursion in programming languages cannot be implemented with dynamic storage allocation IV. Nesting of procedures/functions and recursion require a dynamic heap allocation scheme and cannot be implemented with a stack-based allocation scheme for activation records V. Programming languages which permit a function to return a function as its result cannot be implemented with a stack-based storage allocation scheme for activation records

  1. II and V only
  2. I, III and IV only
  3. I, II and V only
  4. II, III and V only

Correct answer: I, II and V only

Solution

Option I is correct because a language without global variables and nesting can still use static allocation for recursion. Option II is accurate as multi-level access links are necessary for managing activation records only when nesting is present. Option V is true since returning functions typically requires a dynamic allocation scheme to manage their lifetimes.

Related GATE Technical questions

⚔️ Practice GATE Technical free + battle 1v1 →