GATE CS 2020 Set 1 — Question 19
Go beyond PYQs with Success TrackerAI-powered personalised practice and doubt support. Unlimited practice on eligible plans; AI usage limits apply.MCQ+1 / -0.33MediumSemantic AnalysisCompiler DesignSymbol TablesStack AllocationRuntime EnvironmentsSyntax Analysis
Compiler Design → Runtime Environments → Stack Allocation
Last updated
Question
Consider the following statements.I. Symbol table is accessed only during lexical analysis and syntax analysis.
II. Compilers for programming languages that support recursion necessarily need heap storage for memory allocation in the run-time environment.
III. Errors violating the condition 'any variable must be declared before its use' are detected during syntax analysis.Which of the above statements is/are TRUE?
II. Compilers for programming languages that support recursion necessarily need heap storage for memory allocation in the run-time environment.
III. Errors violating the condition 'any variable must be declared before its use' are detected during syntax analysis.Which of the above statements is/are TRUE?
Correct answer
(D) None of I, II, and III
Solution
Statement I is FALSE.
The symbol table is accessed throughout the compilation process, including Semantic Analysis (for type checking) and Intermediate Code Generation, not just Lexical and Syntax Analysis.Statement II is FALSE.
Recursion requires a stack for memory allocation (to store activation records/stack frames), not necessarily a heap. The heap is used for dynamic memory allocation.Statement III is FALSE.
Checking if a variable is declared before use is a scope resolution check, which is part of Semantic Analysis, not Syntax Analysis. Syntax analysis checks the grammatical structure, not the context/meaning.Therefore, none of the statements are true.
The symbol table is accessed throughout the compilation process, including Semantic Analysis (for type checking) and Intermediate Code Generation, not just Lexical and Syntax Analysis.Statement II is FALSE.
Recursion requires a stack for memory allocation (to store activation records/stack frames), not necessarily a heap. The heap is used for dynamic memory allocation.Statement III is FALSE.
Checking if a variable is declared before use is a scope resolution check, which is part of Semantic Analysis, not Syntax Analysis. Syntax analysis checks the grammatical structure, not the context/meaning.Therefore, none of the statements are true.
Continue learning with Success Tracker
A step still unclear? Work through it with support
Use Success Tracker to ask about the reasoning, then try another GATE CS question to check your understanding.
AI-powered practice· Unlimited practice on eligible plans
- PYQs with solutions
- Attempt available previous-year questions, then compare your reasoning with the worked solution. Coverage varies by stream.
- Practice that adapts
- Choose a topic, work on weaker areas and bookmark questions to revisit. Your attempts feed your progress tracking.
- AI doubt support
- Ask follow-up questions about a step or concept while practising, instead of stopping at the final answer.
Unlimited practice is available on eligible plans. Free practice and AI usage have limits; check the current plan allowances before choosing.
This page stays readable without an account. AI responses can be wrong; check them against the solution and source material.
More questions on Runtime Environments
2026 Set 2 Q17In C runtime environment, which one of the following is stored in heap?2026 Set 2 Q19Consider the following three ANSI-C programs, P1, P2, and P3. P1 [code] P2 [code] **P3**…2026 Set 1 Q27Consider the following C statements: Which of the following options is/are correct? [figure]2026 Set 1 Q28Which of the following statements is/are true?2026 Set 2 Q35A lexical analyzer uses the following token definitions - - …