Which phase of a compiler is responsible for breaking the source code into tokens?
a) Syntax Analysis
b) Lexical Analysis
c) Code Generation
d) Semantic Analysis
Answer: b) Lexical Analysis
Which phase of a compiler creates a parse tree or abstract syntax tree?
a) Lexical Analysis
b) Syntax Analysis
c) Semantic Analysis
d) Code Optimization
Answer: b) Syntax Analysis
What is the main goal of the semantic analysis phase in a compiler?
a) To generate machine code
b) To check for semantic errors and ensure proper usage of identifiers
c) To translate source code into intermediate code
d) To parse the source code
Answer: b) To check for semantic errors and ensure proper usage of identifiers
Which phase of a compiler is responsible for converting intermediate code into machine code?
a) Lexical Analysis
b) Syntax Analysis
c) Code Generation
d) Code Optimization
Answer: c) Code Generation
Which phase involves improving the efficiency of the intermediate code?
a) Code Generation
b) Code Optimization
c) Lexical Analysis
d) Syntax Analysis
Answer: b) Code Optimization
In which phase of a compiler are syntax errors detected?
a) Lexical Analysis
b) Syntax Analysis
c) Semantic Analysis
d) Code Generation
Answer: b) Syntax Analysis
Which phase of the compiler is responsible for translating the source code into an intermediate representation?
a) Lexical Analysis
b) Syntax Analysis
c) Semantic Analysis
d) Code Generation
Answer: b) Syntax Analysis
Which phase ensures that all identifiers are declared before use?
a) Lexical Analysis
b) Semantic Analysis
c) Syntax Analysis
d) Code Generation
Answer: b) Semantic Analysis
What does the “code optimization” phase aim to improve?
a) Code readability
b) Compilation speed
c) Execution efficiency
d) Error detection
Answer: c) Execution efficiency
Which phase generates the final executable code from the intermediate code?
a) Lexical Analysis
b) Syntax Analysis
c) Code Generation
d) Code Optimization
Answer: c) Code Generation
During which phase are comments and whitespace removed from the source code?
a) Lexical Analysis
b) Syntax Analysis
c) Semantic Analysis
d) Code Optimization
Answer: a) Lexical Analysis
Which phase of the compiler deals with type checking and scope resolution?
a) Lexical Analysis
b) Syntax Analysis
c) Semantic Analysis
d) Code Generation
Answer: c) Semantic Analysis
Which phase produces an intermediate code that is easier to optimize and translate into machine code?
a) Code Generation
b) Code Optimization
c) Lexical Analysis
d) Syntax Analysis
Answer: b) Code Optimization
In which phase are the syntactic structure and tokens of the source code validated?
a) Lexical Analysis
b) Syntax Analysis
c) Semantic Analysis
d) Code Generation
Answer: b) Syntax Analysis
Which phase of a compiler is responsible for handling syntax errors?
a) Lexical Analysis
b) Syntax Analysis
c) Semantic Analysis
d) Code Optimization
Answer: b) Syntax Analysis
What is the role of the “intermediate code” phase in a compiler?
a) To perform lexical analysis
b) To convert source code into a lower-level representation
c) To optimize the source code
d) To generate machine code
Answer: b) To convert source code into a lower-level representation
Which phase of the compiler performs transformations to improve performance or reduce code size?
a) Lexical Analysis
b) Syntax Analysis
c) Code Optimization
d) Code Generation
Answer: c) Code Optimization
Which phase of a compiler involves creating a symbol table?
a) Lexical Analysis
b) Syntax Analysis
c) Semantic Analysis
d) Code Generation
Answer: c) Semantic Analysis
Which phase of a compiler ensures that variables are used in a consistent and correct manner?
a) Lexical Analysis
b) Syntax Analysis
c) Semantic Analysis
d) Code Generation
Answer: c) Semantic Analysis
Which phase translates intermediate code into assembly language or machine code?
a) Lexical Analysis
b) Syntax Analysis
c) Code Generation
d) Code Optimization
Answer: c) Code Generation
What is the purpose of the “semantic analysis” phase in a compiler?
a) To detect and report syntax errors
b) To create machine code
c) To check for semantic errors and ensure proper use of variables
d) To generate intermediate code
Answer: c) To check for semantic errors and ensure proper use of variables
Which phase of the compiler is involved in error recovery and reporting?
a) Lexical Analysis
b) Syntax Analysis
c) Semantic Analysis
d) Code Generation
Answer: b) Syntax Analysis
What does the “code generation” phase produce?
a) Intermediate code
b) Source code
c) Machine code or assembly code
d) Tokens
Answer: c) Machine code or assembly code
In which phase are programming constructs like loops and conditionals translated into machine-readable instructions?
a) Lexical Analysis
b) Syntax Analysis
c) Code Optimization
d) Code Generation
Answer: d) Code Generation
Which phase of a compiler is responsible for the actual execution of the translated code?
a) Lexical Analysis
b) Code Optimization
c) Code Generation
d) Syntax Analysis
Answer: c) Code Generation
Which phase is concerned with transforming the source code into an intermediate representation that facilitates further optimization?
a) Lexical Analysis
b) Syntax Analysis
c) Code Optimization
d) Code Generation
Answer: c) Code Optimization
Which phase of a compiler checks for proper use of data types and type conversions?
a) Lexical Analysis
b) Syntax Analysis
c) Semantic Analysis
d) Code Generation
Answer: c) Semantic Analysis
Which phase creates a symbol table to keep track of variables and their attributes?
a) Lexical Analysis
b) Syntax Analysis
c) Semantic Analysis
d) Code Generation
Answer: c) Semantic Analysis
In which phase of a compiler are syntax trees or abstract syntax trees generated?
a) Lexical Analysis
b) Syntax Analysis
c) Semantic Analysis
d) Code Optimization
Answer: b) Syntax Analysis
Which phase of the compiler involves the removal of redundant or unnecessary code?
a) Lexical Analysis
b) Syntax Analysis
c) Code Optimization
d) Code Generation
Answer: c) Code Optimization
What does the “lexical analysis” phase output?
a) Machine code
b) Tokens
c) Intermediate code
d) Syntax trees
Answer: b) Tokens
Which phase of the compiler is responsible for handling variable scope and visibility?
a) Lexical Analysis
b) Syntax Analysis
c) Semantic Analysis
d) Code Generation
Answer: c) Semantic Analysis
Which of the following is NOT a phase of a typical compiler?
a) Lexical Analysis
b) Syntax Analysis
c) Code Optimization
d) Debugging
Answer: d) Debugging
During which phase is the source code parsed to ensure that it adheres to the grammatical rules of the language?
a) Lexical Analysis
b) Syntax Analysis
c) Semantic Analysis
d) Code Generation
Answer: b) Syntax Analysis
Which phase of a compiler is responsible for transforming high-level constructs into lower-level operations?
a) Lexical Analysis
b) Syntax Analysis
c) Code Generation
d) Code Optimization
Answer: c) Code Generation
Which phase of a compiler is most concerned with error handling related to the source code’s grammar?
a) Lexical Analysis
b) Syntax Analysis
c) Semantic Analysis
d) Code Optimization
Answer: b) Syntax Analysis
In which phase are operations on intermediate code performed to improve performance?
a) Lexical Analysis
b) Syntax Analysis
c) Code Optimization
d) Code Generation
Answer: c) Code Optimization
What does the “code generation” phase primarily focus on?
a) Generating tokens from source code
b) Parsing and validating syntax
c) Creating executable code or machine code
d) Ensuring semantic correctness
Answer: c) Creating executable code or machine code
Which phase checks for and handles the types of variables and expressions?
a) Lexical Analysis
b) Syntax Analysis
c) Semantic Analysis
d) Code Generation
Answer: c) Semantic Analysis
Which phase of a compiler deals with optimizations like loop unrolling or instruction scheduling?
a) Lexical Analysis
b) Syntax Analysis
c) Code Optimization
d) Code Generation
Answer: c) Code Optimization
Which phase ensures that the final output code adheres to the architecture of the target machine?
a) Lexical Analysis
b) Syntax Analysis
c) Code Generation
d) Code Optimization
Answer: c) Code Generation
Which phase of a compiler is NOT typically concerned with optimizing the execution of the code?
a) Lexical Analysis
b) Syntax Analysis
c) Code Optimization
d) Code Generation
Answer: a) Lexical Analysis
During which phase is the intermediate code translated into assembly language?
a) Lexical Analysis
b) Syntax Analysis
c) Code Generation
d) Code Optimization
Answer: c) Code Generation
Which phase of the compiler might involve data flow analysis and register allocation?
a) Lexical Analysis
b) Syntax Analysis
c) Code Optimization
d) Code Generation
Answer: c) Code Optimization
What does the “syntax analysis” phase primarily produce?
a) Tokens
b) Machine code
c) Abstract syntax tree
d) Symbol table
Answer: c) Abstract syntax tree
Which phase of a compiler ensures that all expressions and statements are valid according to language rules?
a) Lexical Analysis
b) Syntax Analysis
c) Semantic Analysis
d) Code Generation
Answer: c) Semantic Analysis
What phase is responsible for parsing the code to identify the hierarchical structure of expressions and statements?
a) Lexical Analysis
b) Syntax Analysis
c) Code Optimization
d) Code Generation
Answer: b) Syntax Analysis
In which phase is the code refactored for better performance and efficiency?
a) Lexical Analysis
b) Syntax Analysis
c) Code Optimization
d) Code Generation
Answer: c) Code Optimization
Which phase involves the creation of a symbol table to manage variable and function information?
a) Lexical Analysis
b) Syntax Analysis
c) Semantic Analysis
d) Code Generation
Answer: c) Semantic Analysis
Which phase handles the final step of generating machine-specific code from an intermediate representation?
a) Lexical Analysis
b) Syntax Analysis
c) Code Generation
d) Code Optimization
Answer: c) Code Generation