1. Which of the following tools is commonly used for lexical analysis in compiler design?
A) YACC
B) Bison
C) Lex
D) GCC
Answer: C) Lex
2. Which of the following tools is typically used for syntax analysis in compiler design?
A) Lex
B) Bison
C) YACC
D) GDB
Answer: C) YACC
3. Which of the following is a common syntax-directed translation tool used in compilers?
A) Flex
B) Yacc
C) Java
D) C++
Answer: B) Yacc
4. Which tool is used for creating a syntax tree from a grammar in a compiler?
A) YACC
B) Lex
C) Bison
D) Antlr
Answer: A) YACC
5. Which of the following tools is an automatic parser generator for constructing compilers?
A) Bison
B) GDB
C) GCC
D) Lex
Answer: A) Bison
6. What is the main purpose of lexical analyzers in compiler design?
A) Parsing the grammar
B) Translating the source code into machine code
C) Tokenizing the source code
D) Generating intermediate code
Answer: C) Tokenizing the source code
7. What is YACC (Yet Another Compiler Compiler) primarily used for in compiler design?
A) Lexical analysis
B) Code generation
C) Syntax analysis
D) Optimizations
Answer: C) Syntax analysis
8. Which of the following tools is used for generating the scanner or lexer in a compiler?
A) Bison
B) Lex
C) YACC
D) LEXER
Answer: B) Lex
9. Which of the following tools are used for generating parsers in a compiler design process?
A) Lex and Yacc
B) Bison and Lex
C) Yacc and Flex
D) Lex and Bison
Answer: A) Lex and Yacc
10. Which of the following techniques is used to handle error recovery during parsing in compiler design?
A) Panic mode
B) Syntax-directed translation
C) Tokenization
D) Code generation
Answer: A) Panic mode
11. What is the main function of the semantic analyzer in a compiler?
A) To perform type checking and gather information about symbols
B) To generate intermediate code
C) To optimize the code
D) To parse the source code
Answer: A) To perform type checking and gather information about symbols
12. Which of the following is a tool used for intermediate code generation?
A) Lex
B) Yacc
C) GCC
D) Compiler back-end
Answer: C) GCC
13. Which of the following tools can be used for code generation in compiler design?
A) Yacc
B) Lex
C) Bison
D) GCC
Answer: D) GCC
14. What is lexical analysis used for in the context of a compiler?
A) Converting source code into machine language
B) Checking for errors in source code
C) Breaking the source code into tokens
D) Generating intermediate code
Answer: C) Breaking the source code into tokens
15. Which of the following tools is specifically designed for optimization of code in compiler design?
A) GCC
B) Lex
C) Yacc
D) Flex
Answer: A) GCC
16. Which of the following tools helps in parsing expressions and generating parse trees?
A) Yacc
B) Lex
C) Bison
D) Java
Answer: A) Yacc
17. Which of the following tools helps in detecting syntactic errors in the code during the compilation process?
A) Bison
B) Lex
C) Yacc
D) Code Generator
Answer: C) Yacc
18. What is the main role of semantic analysis in a compiler?
A) To check the correctness of syntax
B) To verify the meaning and logic of the source code
C) To generate machine code
D) To parse the source code into a syntax tree
Answer: B) To verify the meaning and logic of the source code
19. Which of the following is an advantage of using tools like YACC and Bison in compiler construction?
A) They perform lexical analysis automatically
B) They generate code for multiple programming languages
C) They generate parsers from grammar rules automatically
D) They perform machine code generation
Answer: C) They generate parsers from grammar rules automatically
20. What is the main goal of using compiler construction tools like YACC, Lex, and Bison?
A) To manually write the entire compiler code
B) To create optimized and efficient machine code
C) To simplify and automate the generation of code for a compiler
D) To compile high-level programming languages only
Answer: C) To simplify and automate the generation of code for a compiler