Compiler construction tools and frameworks(MCQs)

By: Prof. Dr. Fazal Rehman | Last updated: September 6, 2024

Which tool is used to generate a lexer (lexical analyzer) in compiler construction? a) Lex b) Yacc c) Bison d) Antlr Answer: a) Lex Which tool is used to generate a parser (syntax analyzer) in compiler construction? a) Lex b) Yacc c) Bison d) Antlr Answer: b) Yacc What does the tool Bison do in compiler construction? a) Lexical analysis b) Syntax analysis c) Code generation d) Optimization Answer: b) Syntax analysis Which of the following tools is an example of a parser generator? a) Lex b) GCC c) Antlr d) GDB Answer: c) Antlr What is the primary function of the tool Lex in compiler construction? a) Syntax analysis b) Semantic analysis c) Lexical analysis d) Code generation Answer: c) Lexical analysis Which tool would you use to create a syntax tree for a compiler? a) Lex b) Yacc c) Bison d) GCC Answer: b) Yacc What is the role of the tool Flex in compiler construction? a) Syntax analysis b) Lexical analysis c) Semantic analysis d) Code optimization Answer: b) Lexical analysis Which tool is used for both lexical and syntax analysis? a) Lex b) Yacc c) Bison d) Antlr Answer: d) Antlr Which of the following is a tool used for code generation and optimization? a) Lex b) Yacc c) GCC d) Flex Answer: c) GCC What does the term “abstract syntax tree” (AST) refer to in compiler construction? a) A data structure representing the syntax of source code b) A tool for lexical analysis c) A type of optimization technique d) A machine code representation Answer: a) A data structure representing the syntax of source code Which of the following tools is commonly used to generate intermediate code? a) Lex b) Bison c) GCC d) GDB Answer: c) GCC Which compiler tool is designed for generating both lexical analyzers and parsers? a) Lex b) Flex c) Bison d) GCC Answer: c) Bison What is the main purpose of the tool Antlr? a) To generate both lexers and parsers b) To optimize machine code c) To debug compiled code d) To manage memory allocation Answer: a) To generate both lexers and parsers What does the term “semantic analysis” refer to in compiler construction? a) Analyzing the meaning and correctness of code b) Analyzing the syntax of code c) Generating machine code d) Performing lexical analysis Answer: a) Analyzing the meaning and correctness of code Which of the following tools is a popular parser generator with support for various languages? a) Lex b) Bison c) GCC d) GDB Answer: b) Bison What is the primary role of the tool GCC in compiler construction? a) Compiling and optimizing code b) Generating lexers c) Generating parsers d) Debugging code Answer: a) Compiling and optimizing code Which of the following tools is known for its use in lexical analysis and is a modern alternative to Lex? a) Yacc b) Antlr c) Flex d) GCC Answer: c) Flex Which tool is used to manage and analyze symbol tables in compiler construction? a) Lex b) Yacc c) Bison d) GCC Answer: d) GCC In the context of compiler construction, what does “code generation” involve? a) Translating intermediate code into machine code b) Analyzing code syntax c) Managing memory allocation d) Debugging compiled code Answer: a) Translating intermediate code into machine code Which tool would you use for runtime debugging of compiled code? a) Lex b) Yacc c) GDB d) Bison Answer: c) GDB What is the function of the tool GDB in compiler construction? a) Debugging compiled code b) Generating parsers c) Performing lexical analysis d) Optimizing machine code Answer: a) Debugging compiled code Which compiler construction tool is known for generating recursive descent parsers? a) Lex b) Bison c) Antlr d) GCC Answer: c) Antlr What is “code optimization” in compiler construction? a) Improving the performance and efficiency of machine code b) Generating intermediate code c) Analyzing code syntax d) Debugging code Answer: a) Improving the performance and efficiency of machine code Which tool can be used for both lexical and syntax analysis and is known for its versatility? a) Yacc b) Antlr c) Lex d) GCC Answer: b) Antlr What does the term “compiler frontend” refer to? a) The part of the compiler that handles parsing and semantic analysis b) The part of the compiler that performs optimization c) The part of the compiler that generates machine code d) The part of the compiler that manages memory Answer: a) The part of the compiler that handles parsing and semantic analysis Which tool is designed to handle multiple languages and supports generating code in various programming languages? a) Lex b) Flex c) Antlr d) Yacc Answer: c) Antlr What is the purpose of a “symbol table” in compiler construction? a) To store information about identifiers and their attributes b) To manage memory allocation c) To perform lexical analysis d) To generate machine code Answer: a) To store information about identifiers and their attributes Which tool is often used in conjunction with Yacc to perform lexical analysis? a) Lex b) Bison c) GCC d) GDB Answer: a) Lex What is the primary role of the “backend” in a compiler? a) Generating machine code and performing optimization b) Parsing source code c) Performing lexical analysis d) Debugging code Answer: a) Generating machine code and performing optimization Which of the following tools is known for generating high-performance code for various architectures? a) Lex b) Yacc c) GCC d) Antlr Answer: c) GCC What is the function of the tool “FLEX” in the context of compiler construction? a) To generate lexical analyzers b) To generate parsers c) To perform semantic analysis d) To optimize machine code Answer: a) To generate lexical analyzers Which tool would you use to generate a parser that uses a LALR(1) parsing algorithm? a) Lex b) Yacc c) Antlr d) GCC Answer: b) Yacc What does “LR parsing” refer to in compiler construction? a) A type of parsing that reads input from Left to right and constructs a Rightmost derivation b) A type of lexical analysis c) A method for generating intermediate code d) A debugging technique Answer: a) A type of parsing that reads input from Left to right and constructs a Rightmost derivation Which of the following tools is best suited for generating a lexer for C++ code? a) Antlr b) Lex c) Bison d) Yacc Answer: a) Antlr Which tool is used for generating a parser from a context-free grammar? a) Lex b) Yacc c) GCC d) GDB Answer: b) Yacc What is “dead code elimination” in the context of compiler optimization? a) Removing code that does not affect the program’s outcome b) Encrypting unused code c) Generating machine code d) Performing lexical analysis Answer: a) Removing code that does not affect the program’s outcome Which tool is commonly used for syntax-directed translation in compiler construction? a) Lex b) Yacc c) Antlr d) GCC Answer: b) Yacc Which tool is known for its support of attribute grammars and is used in compiler construction? a) Lex b) Bison c) Antlr d) GDB Answer: c) Antlr What does the term “parse tree” refer to in compiler construction? a) A tree representation of the syntactic structure of source code b) A data structure for lexical analysis c) A method for code optimization d) A machine code representation Answer: a) A tree representation of the syntactic structure of source code Which tool is used to perform semantic analysis and manage symbol tables in a compiler? a) Lex b) Yacc c) Antlr d) GCC Answer: d) GCC Which of the following is a tool specifically designed for syntax-directed translation using attribute grammars? a) Lex b) Yacc c) Antlr d) Flex Answer: c) Antlr What does “syntax-directed translation” involve in compiler construction? a) Translating source code based on its syntactic structure b) Encrypting code for security c) Generating machine code directly d) Performing lexical analysis Answer: a) Translating source code based on its syntactic structure Which tool is used to handle parsing for context-free grammars and generate code for various programming languages? a) Yacc b) Lex c) Antlr d) GCC Answer: c) Antlr Which tool helps in managing memory allocation during the compilation process? a) Lex b) Yacc c) GCC d) GDB Answer: c) GCC What is “link-time optimization” in the context of compilers? a) Optimization performed during the linking phase of compilation b) Optimization performed during lexical analysis c) Optimization performed during syntax analysis d) Optimization performed at runtime Answer: a) Optimization performed during the linking phase of compilation Which tool is primarily used for parsing and generating code for declarative languages? a) Lex b) Yacc c) Antlr d) GCC Answer: c) Antlr What does “compiler frontend” include? a) Lexical analysis and parsing b) Code optimization and generation c) Memory management d) Debugging Answer: a) Lexical analysis and parsing Which tool can be used to create an intermediate representation of code for further optimization? a) GCC b) Lex c) Yacc d) GDB Answer: a) GCC What is the role of the “optimizer” in a compiler? a) To improve the performance of the compiled code b) To generate machine code c) To manage symbol tables d) To perform lexical analysis Answer: a) To improve the performance of the compiled code Which tool is known for its use in generating parsers for complex programming languages and supports multiple grammars? a) Yacc b) Flex c) Antlr d) GCC Answer: c) Antlr
All Copyrights Reserved 2025 Reserved by T4Tutorials