Role of Lexical and Syntax Analysis Tools MCQs

1. What is the primary role of a lexical analyzer in a compiler?

A) To check for semantic errors
B) To generate intermediate code
C) To parse the syntax of the source code
D) To break the source code into tokens

Answer: D) To break the source code into tokens


2. Which tool is primarily responsible for tokenizing the input source code into meaningful symbols?

A) YACC
B) Lex
C) Bison
D) GCC

Answer: B) Lex


3. Which of the following is the main function of the syntax analyzer (parser) in a compiler?

A) To identify the lexical errors in the source code
B) To translate the source code into machine code
C) To check the grammatical structure of the source code
D) To optimize the code

Answer: C) To check the grammatical structure of the source code


4. Which of the following tools is used for syntax analysis (parsing) in a compiler?

A) Lex
B) YACC
C) Bison
D) Both B and C

Answer: D) Both B and C


5. What does a lexical analyzer produce from the source code?

A) An abstract syntax tree
B) A set of intermediate code
C) A sequence of tokens
D) A machine code translation

Answer: C) A sequence of tokens


6. Which of the following tasks is handled by a syntax analyzer (parser) in a compiler?

A) Identifying tokens
B) Generating machine code
C) Checking if the source code conforms to the grammar of the programming language
D) Optimizing the code

Answer: C) Checking if the source code conforms to the grammar of the programming language


7. Which of the following tools is used for lexical analysis in a compiler?

A) Bison
B) GCC
C) Lex
D) YACC

Answer: C) Lex


8. How does YACC (Yet Another Compiler Compiler) contribute to the compiler design process?

A) It generates lexical analyzers from regular expressions
B) It generates parsers for syntactic analysis from context-free grammar
C) It optimizes machine code
D) It translates source code into machine code

Answer: B) It generates parsers for syntactic analysis from context-free grammar


9. What is the key difference between Lex and YACC?

A) Lex performs syntax analysis, while YACC performs lexical analysis
B) Lex performs lexical analysis, while YACC performs syntax analysis
C) Lex and YACC both perform the same tasks
D) YACC is used for code generation, and Lex is used for optimization

Answer: B) Lex performs lexical analysis, while YACC performs syntax analysis


10. Which of the following is the role of a syntax analyzer in the context of compiler design?

A) It generates machine code from source code
B) It converts source code into intermediate code
C) It checks for syntax errors and ensures the source code follows the grammar of the programming language
D) It breaks source code into tokens

Answer: C) It checks for syntax errors and ensures the source code follows the grammar of the programming language


11. Which tool is commonly used to generate parsers for context-free grammars?

A) Lex
B) YACC
C) GCC
D) Flex

Answer: B) YACC


12. In which phase of the compilation process does Lexical Analysis occur?

A) Code generation
B) Intermediate code generation
C) Front-end processing
D) Optimization

Answer: C) Front-end processing


13. What is the output of a lexical analyzer?

A) A parse tree
B) A syntax tree
C) A stream of tokens
D) A set of semantic rules

Answer: C) A stream of tokens


14. Which of the following best describes Lex?

A) A syntax analyzer tool used to generate parsers
B) A lexical analyzer tool used to tokenize the input
C) A tool for semantic analysis
D) A code optimization tool

Answer: B) A lexical analyzer tool used to tokenize the input


15. Which of the following is the main responsibility of YACC in a compiler design?

A) Tokenizing the input code
B) Parsing the source code according to a specified grammar
C) Generating intermediate code
D) Optimizing the code

Answer: B) Parsing the source code according to a specified grammar


16. Which of the following is NOT the responsibility of a lexical analyzer in a compiler?

A) Recognizing keywords, identifiers, and constants
B) Generating a stream of tokens
C) Ensuring the source code follows the language’s grammar rules
D) Removing comments and whitespace from the input

Answer: C) Ensuring the source code follows the language’s grammar rules


17. Which of the following statements about syntax analyzers is true?

A) They only detect lexical errors
B) They generate machine code directly
C) They check whether the program follows the syntactic rules of the programming language
D) They perform optimization on the code

Answer: C) They check whether the program follows the syntactic rules of the programming language


18. What is the purpose of semantic analysis after lexical and syntax analysis?

A) To check for grammatical errors
B) To assign types and check for semantic errors in the code
C) To generate intermediate code
D) To optimize the code

Answer: B) To assign types and check for semantic errors in the code


19. Which of the following is NOT a role of the lexical analyzer in compiler design?

A) Extracting tokens from source code
B) Generating abstract syntax trees
C) Removing comments and white spaces
D) Recognizing keywords and identifiers

Answer: B) Generating abstract syntax trees


20. What does a syntax analyzer (parser) use to determine the syntactic structure of the source code?

A) Regular expressions
B) Tokens produced by the lexical analyzer
C) Optimized machine code
D) Semantic rules

Answer: B) Tokens produced by the lexical analyzer

Leave a Reply

Your email address will not be published. Required fields are marked *