Question:medium

In the context of compilers, which of the following is/are NOT an intermediate representation of the source program?

Show Hint

IRs represent program structure or flow; symbol tables store auxiliary information about identifiers.
Updated On: Feb 2, 2026
  • Three address code
  • Abstract Syntax Tree (AST)
  • Control Flow Graph (CFG)
  • Symbol table
Show Solution

The Correct Option is D

Solution and Explanation

To determine which option is NOT an intermediate representation of the source program in a compiler, let's examine each option:

  1. Three address code: This is a type of intermediate representation used in compilers. It is a sequence of instructions, each typically having at most three operands. This representation is utilized for performing optimizations and is a key step in converting source code to machine code.
  2. Abstract Syntax Tree (AST): This is another form of intermediate representation. An AST is a tree representation of the abstract syntactic structure of source code. Each node of the tree denotes a construct occurring in the source code. The AST is used in various stages of the compilation process.
  3. Control Flow Graph (CFG): This is also an intermediate representation. It is a graphical representation of all paths that might be traversed through a program during its execution. CFGs are utilized in the optimization phase of the compiler.
  4. Symbol table: This is NOT an intermediate representation. Instead, it is a data structure used by a compiler to store information about symbols (identifiers) such as variable names, function names, and their attributes. The symbol table aids in semantic analysis, type checking, and code generation, but it does not represent the source program itself.

Based on this analysis, the Symbol table is the correct answer, as it is not an intermediate representation of the source program.

Was this answer helpful?
0