Sale!

Original price was: ₹200.00.Current price is: ₹15.00.

Compiler Test: Elevate Amplify Your Compiler Design Skills with our Engaging Online Assessment. Answer 60 True/False MCQs in just 30 minutes and aim for a 60% passing rate. This comprehensive test is tailored for students worldwide, studying Compiler Design in their syllabus. Whether you’re a Compiler Design student anywhere in the world or pursuing B.Tech., M.Tech., BCA, or MCA in India, this test is your gateway to academic excellence. Invaluable preparation for competitive exams like: GATE, NET, SLET, DRDO, and ISRO. Embrace the challenge and unlock your academic brilliance today with the Compiler Test! Buy Now.

How to Unleash Your Brain’s Potential for Learning and Achieving Success! An exclusive PASSWORD will be sent to the email address you specify when you make your purchase of this premium educational resource. This password will unlock an interactive online testing experience at Nuutan.com. Please note that the provided password will be valid for a full 10 days from the date of purchase, giving you plenty of time to look around. Take advantage of this once-in-a-lifetime chance and start your path to becoming a knowledge master right now!

Categories: , , , , , Tags: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Product ID: 3432

Description

Compiler Test: Elevate Your Compiler Design Skills with our Engaging Online Assessment.

0%

Compiler Design is a required course at many universities around the world, and this true/false based practice test will help those students prepare. GATE-CS/IT, UGC-NET, SLET, ISRO, DRDO, and other similar exams may be easier to score good marks with this practice test.

TIME ENDS

Created by A guru on the website nuutan.com

True/False Questions Based Online Exam for Compiler Design

There are 60 statements here about Compiler Design, each of which must be marked as True or False.

IF YOU GET 60% OR MORE, WE WILL SEND A CERTIFICATE TO YOUR EMAIL ADDRESS. PLEASE FILL IN CORRECTLY.

Basic Definition(s):

Syntax Analysis: The second stage of a compiler is syntax analysis. It uses data from the lexical analyzer as input. It offers an output that the semantic analyzer can use as input. Syntax analyzer and parser are other names for syntax analysis. It reads the lexical analyzer's string of tokens. Additionally, make sure it can be generated using the source language's grammar.

Type Checking: The compiler performs type checking or static checking at the compiler time. As a result, specific types of programming errors will be identified and reported by compiler. A compiler should ensure that the source program is written using the rules of source language for syntactic and semantic conversions. This type of checking is known as type checking. Apart from it, type checking is a technique for detecting and reporting code errors.

Type Conversions: The term "type conversion" refers to altering the data type of a value. Two strategies exist for doing this: (1) Implicit: The modification is apparent; and (2) Explicit: the modification is made explicitly using a function or operation.

1 / 60

Category: COMPILER DESIGN: SET 4 (TRUE/FALSE) - © 2023 NUUTAN.COM. ALL RIGHTS RESERVED.

1) Type checking and type conversions, such converting an INT to a FLOAT, are handled through Syntax Analysis.

Basic Definition(s):

LR(1) Parser: To parse the large class of context free grammars, LR parsers are used. This method is known as LR(k) parsing. L represents input scanning from left to right. R is used to build a right most derivation in reverse. k is the number of lookahead input symbols used to make parsing decisions.

Subset: If every element in a set A is also an element in a set B, then the set A is a subset of the set B. The set A is therefore contained within the set B.

LALR(1) Parser: An LALR(1) parser is a improved version of an LR(0) parser that keeps more precise information in order to disambiguate the grammar. An LR(1) parser is a more powerful parser that stores more precise information than an LALR(1) parser. LALR(1) parsers are always a constant factor greater than LR(0) parsers, and LR(1) parsers are usually exponentially greater than LALR(1) parsers. Any grammar that an LR(0) parser can parse can be parsed by an LALR(1) parser, and any grammar that an LALR(1) parser can parse can be parsed by an LR(1) parser. There are grammars that are LALR(1) but not LR(0), and grammars that are LR(1) but not LALR (1).

2 / 60

Category: COMPILER DESIGN: SET 4 (TRUE/FALSE) - © 2023 NUUTAN.COM. ALL RIGHTS RESERVED.

2) LR(1) is a subset of LALR(1).

Basic Definition(s):

Left Factoring: A grammar change called “left factoring” creates a grammar that is better suited for top-down or predictive parser. The top-down parser is unable to decide which grammar production rule to use to parse the given text if many grammar production rules have a common prefix string. Left factoring is the method for transforming a grammar with a common prefix such that top-down parsers will find it useful.

Left Recursion: Left recursion occurs when the left-most non-terminal in a production of a non-terminal is the non-terminal itself (direct left recursion) or rewrites to the non-terminal through some other non-terminal definitions (indirect left recursion). Take a look at these instances: (1) X -> Xa (direct); (2) X -> Ya; Y -> Xb (indirect).

3 / 60

Category: COMPILER DESIGN: SET 4 (TRUE/FALSE) - © 2023 NUUTAN.COM. ALL RIGHTS RESERVED.

3) A grammar's Left Recursion can be eliminated using the Left Factoring Technique.

Basic Definition(s):

LR Parser: The "L" stands for input scanning from left to right, and the "R" stands for creating a rightmost derivation in reverse. Almost every programming language construct that can have context-free grammars defined can have an LR parser built to recognize it. Although the LR parsing method is the most often used non-backtracking shift-reduce parsing technique, it can be applied just as effectively as other shift-reduce techniques. The class of grammars that can be properly parsed by LR techniques is a subset of the class that can be properly parsed by predictive parsers. A left-to-right scan of the input by an LR parser can identify a grammatical problem as soon as it is possible.

LL Parser: A one-token look-ahead top-down parser is referred to as an LL(1) parser. The initial L denotes the direction of input reading, which is left to right. It gives a left-to-right derivation, according to the second L. It employs one look-ahead token, according to the 1 as well. Some parsers look forward at the upcoming two tokens or even more.

4 / 60

Category: COMPILER DESIGN: SET 4 (TRUE/FALSE) - © 2023 NUUTAN.COM. ALL RIGHTS RESERVED.

4) In general, LR parsers are more powerful (effective) than LL parsers.

Basic Definition(s):

Essential Ambiguous: An ambiguous string (sentence) is spuriously ambiguous if all its production trees (parse trees) describe the same semantics; if some of them differ in their semantics, the ambiguity is essential.

5 / 60

Category: COMPILER DESIGN: SET 4 (TRUE/FALSE) - © 2023 NUUTAN.COM. ALL RIGHTS RESERVED.

5) If a grammar can generate an ESSENTIALLY Ambiguous string, it is ESSENTIAL Ambiguous.

Basic Definition(s):

Parser Generator: A parser generator takes a grammar as input and generates source code that can parse character streams using the grammar. The generated code is a parser that takes a string of characters and attempts to match it against the grammar.

YACC: A grammar parser and parser generator, YACC is “yet another compiler compiler”. To put it another way, it is a program that reads a grammar specification and produces code that can arrange input tokens in a syntactic tree in line with the grammar.

LL(1) Grammar: A context-free grammar with no multiple entries in its parsing table is referred to as LL (1). The initials LL(1), the first L stands for scanning the input from left to right, the second L stands for producing a leftmost derivation, and the 1 stands for making a parsing action decision using one input symbol of look-ahead at each step.

6 / 60

Category: COMPILER DESIGN: SET 4 (TRUE/FALSE) - © 2023 NUUTAN.COM. ALL RIGHTS RESERVED.

6) LL(1) grammars can be handled by the parser generator YACC (Yet Another Compiler-Compiler).

Basic Definition(s):

Parsing: "One that parses" is a parser. It is a piece of software that separate (deconstruct) text into recognizable character strings for later analysis.

7 / 60

Category: COMPILER DESIGN: SET 4 (TRUE/FALSE) - © 2023 NUUTAN.COM. ALL RIGHTS RESERVED.

7) The representation of parsing is linear (a linear representation of parsing is possible).

Basic Definition(s):

Lexical Analyzer: The compiler begins by performing a lexical analysis. It collects updated source code from the language preprocessor that is written as sentences. By removing whitespace from the source code, the lexical analyzer converts these syntaxes into a list of tokens.

FSA: A state machine known as a finite state automaton (FSA) changes its state in response to a string of symbols that are fed into it. A regular expression recognizer is a finite automaton. Finite automata modify their state for each literal when a regular expression string is supplied to them.

8 / 60

Category: COMPILER DESIGN: SET 4 (TRUE/FALSE) - © 2023 NUUTAN.COM. ALL RIGHTS RESERVED.

8) A lexical analyzer based on an FSA efficiently matches multiple token descriptions to the input stream at the same time. However, due to the automaton overshooting the end of the token while looking for a possible longer token, input character may be inspected more than once.

Each character is only inspected once when dividing a program text into tokens?

Basic Definition(s):

LLgen Parser Generator: With no backtracking from an Extended Context Free grammar, LLgen offers a tool for creating an effective recursive descent parser. LLparse is the name of the parser produced by LLgen.

LL(1) Conflict: LL(1) conflicts are classified into two types: FIRST/FIRST and FIRST/FOLLOW. When the FIRST sets of two different productions for the same non-terminal intersect, a FIRST/FIRST conflict occurs. FIRST/FOLLOW conflict occurs when a grammar rule's FIRST set contains an epsilon and the intersection with its FOLLOW set is not empty.

9 / 60

Category: COMPILER DESIGN: SET 4 (TRUE/FALSE) - © 2023 NUUTAN.COM. ALL RIGHTS RESERVED.

9) All LL(1) conflicts can be resolved using the dynamic conflict resolvers of the LLgen parser generator.

Basic Definition(s):

Shift Reduce Conflict: The Shift-Reduce Conflict is the most common type of conflict found in grammars. It occurs when the grammar allows a rule to be reduced for a specific token while also allowing another rule to be shifted for that same token.

10 / 60

Category: COMPILER DESIGN: SET 4 (TRUE/FALSE) - © 2023 NUUTAN.COM. ALL RIGHTS RESERVED.

10) Think about the following grammar:

S  ->  A | xb

A  ->  aAb | x

This grammar contains a shift-reduce conflict.

Basic Definition(s):

Compiler: A compiler is a specialized software application that transforms source code written in one programming language into another language, typically machine language (also known as machine code), so that processors can understand it (i.e., logic chips).

Preprocessor: It is a computer programs that perform operations on source files before actually compiling them.

Syntactic Analysis: The second phase, after lexical analysis, is syntax analysis or parsing. It examines the given input's syntactical structure, that is, whether the given input is in the correct syntax (of the language in which the input was written) or not.

Semantic Analysis: Semantic analysis is the task of ensuring that a program's declarations and statements are semantically correct, that is, that their meaning is clear and consistent with how control structures and data types should be used.

11 / 60

Category: COMPILER DESIGN: SET 4 (TRUE/FALSE) - © 2023 NUUTAN.COM. ALL RIGHTS RESERVED.

11) A pre-processor does not do a complete Syntactic and Semantic Analysis; a compiler does.

Basic Definition(s):

FIRST/FIRST Conflict: LL(1) conflicts are classified into two types: FIRST/FIRST and FIRST/FOLLOW. When the FIRST sets of two different productions for the same non-terminal intersect, a FIRST/FIRST conflict occurs. FIRST/FOLLOW conflict occurs when a grammar rule's FIRST set contains an epsilon and the intersection with its FOLLOW set is not empty.

LL(1): A one-token look-ahead top-down parser is referred to as an LL(1) parser. The initial L denotes the direction of input reading, which is left to right. It gives a left-to-right derivation, according to the second L. It employs one look-ahead token, according to the 1 as well. Some parsers look forward at the upcoming two tokens or even more.

Left Factoring: A grammar change called “left factoring” creates a grammar that is better suited for top-down or predictive parser. The top-down parser is unable to decide which grammar production rule to use to parse the given text if many grammar production rules have a common prefix string. Left factoring is the method for transforming a grammar with a common prefix such that top-down parsers will find it useful.

12 / 60

Category: COMPILER DESIGN: SET 4 (TRUE/FALSE) - © 2023 NUUTAN.COM. ALL RIGHTS RESERVED.

12) Making a grammar with a FIRST/FIRST conflict LL(1) requires the application of left factoring.

Basic Definition(s):

LR(1) Parser: To parse the large class of context free grammars, LR parsers are used. This method is known as LR(k) parsing. L represents input scanning from left to right. R is used to build a right most derivation in reverse. k is the number of look-ahead input symbols used to make parsing decisions.

Proportional: The proportional term refers to something that has a relative size or amount to something else.

Cube of the Number: A cube number is the result of multiplying a number by itself twice. For example, 8 is a cube number because it is 2 x 2 x 2 (2 multiplied by itself twice); this is also written as 23.

13 / 60

Category: COMPILER DESIGN: SET 4 (TRUE/FALSE) - © 2023 NUUTAN.COM. ALL RIGHTS RESERVED.

13) The time required by an LR(1) parser is proportional to the cube of the number of input symbols.

Basic Definition(s):

LR Item Set: A production G with a dot at a specific location on the production's right side is an LR(0) item. It is helpful to utilize LR(0) items to show how much of the input has been scanned up to a specific point in the parsing process.

14 / 60

Category: COMPILER DESIGN: SET 4 (TRUE/FALSE) - © 2023 NUUTAN.COM. ALL RIGHTS RESERVED.

14) In an LR item set, the items A -> P•Q and B -> PQ• can co-exist.

Basic Definition(s):

Top-Down Parser: Top-down parsers build a parse tree for the input by starting at the root and creating nodes in pre-order. Top-down parsing is equivalent to finding the leftmost derivation for an input string.

15 / 60

Category: COMPILER DESIGN: SET 4 (TRUE/FALSE) - © 2023 NUUTAN.COM. ALL RIGHTS RESERVED.

15) When constructing a top-down parser we need to computer the FIRST sets of all production alternatives. The FIRST set of an alternative a, FIRST(a), contains all terminals a can start with; if a can produce the empty string ε, this ε is included in FIRST(a).

Think about the following:

S  -> AB

A  -> ε | aA

B  -> b | bB

FIRST(S) contains 3 elements.

Basic Definition(s):

Ambiguous: "Having or expressing more than one conceivable meaning" is what is meant by the word ‘ambiguous’.

16 / 60

Category: COMPILER DESIGN: SET 4 (TRUE/FALSE) - © 2023 NUUTAN.COM. ALL RIGHTS RESERVED.

16) Think about the following:

S  -> a | A

A  -> Aa | a

This grammar is ambiguous.

Basic Definition(s):

FIRST/FIRST Conflict: LL(1) conflicts are classified into two types: FIRST/FIRST and FIRST/FOLLOW. When the FIRST sets of two different productions for the same non-terminal intersect, a FIRST/FIRST conflict occurs. FIRST/FOLLOW conflict occurs when a grammar rule's FIRST set contains an epsilon and the intersection with its FOLLOW set is not empty.

LL(1): A one-token look-ahead top-down parser is referred to as an LL(1) parser. The initial L denotes the direction of input reading, which is left to right. It gives a left-to-right derivation, according to the second L. It employs one look-ahead token, according to the 1 as well. Some parsers look forward at the upcoming two tokens or even more.

Left Factoring: A grammar change called “left factoring” creates a grammar that is better suited for top-down or predictive parser. The top-down parser is unable to decide which grammar production rule to use to parse the given text if many grammar production rules have a common prefix string. Left factoring is the method for transforming a grammar with a common prefix such that top-down parsers will find it useful.

Left Recursion: Left recursion occurs when the left-most non-terminal in a production of a non-terminal is the non-terminal itself (direct left recursion) or rewrites to the non-terminal through some other non-terminal definitions (indirect left recursion). Take a look at these instances: (1) X -> Xa (direct); (2) X -> Ya; Y -> Xb (indirect).

17 / 60

Category: COMPILER DESIGN: SET 4 (TRUE/FALSE) - © 2023 NUUTAN.COM. ALL RIGHTS RESERVED.

17) A grammar with FIRST/FIRST conflict can be made LL(1) by only applying Left Factoring, that is, no Substitution and Left-Recursion Removal are needed.

Basic Definition(s):

Left Factoring: A grammar change called “left factoring” creates a grammar that is better suited for top-down or predictive parser. The top-down parser is unable to decide which grammar production rule to use to parse the given text if many grammar production rules have a common prefix string. Left factoring is the method for transforming a grammar with a common prefix such that top-down parsers will find it useful.

Recursive Descent Parser: One of the simplest parsing methods utilized in real-world applications is recursive-descent parsing. Recursive-descent parsers are sometimes known as top-down parsers since they build the parse tree from the top down as opposed to the bottom up. Associating each non-terminal with a process is the fundamental idea of recursive-descent parsing. Each such method aims to read a set of input characters that the corresponding non-terminal is capable of producing and return that information (data) to the root of the parse tree for the non-terminal.

18 / 60

Category: COMPILER DESIGN: SET 4 (TRUE/FALSE) - © 2023 NUUTAN.COM. ALL RIGHTS RESERVED.

18) Left factoring is a method that can be used to get a grammar ready for a recursive descent parser.

Basic Definition(s):

Lexical Analysis: The compiler begins by performing a lexical analysis. It collects updated source code from the language pre-processor that is written as sentences. By removing white space from the source code, the lexical analyzer converts these syntaxes into a list of tokens.

Nested Parentheses: "Nested" parentheses are parentheses that are inside other parentheses.

19 / 60

Category: COMPILER DESIGN: SET 4 (TRUE/FALSE) - © 2023 NUUTAN.COM. ALL RIGHTS RESERVED.

19) In order to handle nested parentheses, lexical analysis is recursive.

Basic Definition(s):

Lexical Analyzer: The compiler begins by performing a lexical analysis. It collects updated source code from the language preprocessor that is written as sentences. By removing whitespace from the source code, the lexical analyzer converts these syntaxes into a list of tokens.

Finite State Automata: A state machine known as a finite state automaton (FSA) changes its state in response to a string of symbols that are fed into it. A regular expression recognizer is a finite automaton. Finite automata modify their state for each literal when a regular expression string is supplied to them.

Regular Description: Regular Expressions (Regular Descriptions) make it easy to explain the language that finite automata can understand. It is the best technique to represent any language. Regular languages are the languages that some regular expressions accept. A series of patterns that define a string can also be used to describe a regular expression.

20 / 60

Category: COMPILER DESIGN: SET 4 (TRUE/FALSE) - © 2023 NUUTAN.COM. ALL RIGHTS RESERVED.

20) A lexical analyzer generator automatically creates a token-recognizing finite state automaton (FSA). A regular expression controls the generator's operation.

A Finite State Automaton with n accepting states is produced by a regular expression with n characters?

Basic Definition(s):

Transition Table: A tabular representation of the transition function is what the transition table essentially is. The function takes two inputs, a state and a symbol, and outputs a state (the "next state"). A transition table is made up of the following elements: (1) Columns represent INPUT SYMBOLS; (2) Rows represent STATES; (3) Entries correspond to the NEXT STATE; (4) START STATE; and (5) FINAL STATE.

21 / 60

Category: COMPILER DESIGN: SET 4 (TRUE/FALSE) - © 2023 NUUTAN.COM. ALL RIGHTS RESERVED.

21) The CURRENT state and the NEXT state are used to index Transition Tables.

Basic Definition(s):

Parsing: Input analysis, often known as parsing, is the process of organizing data according to grammatical rules.

Semantically Correct: Semantic analysis is the task of ensuring that a program's declarations and statements are semantically correct, that is, that their meaning is clear and consistent with how control structures and data types should be used.

22 / 60

Category: COMPILER DESIGN: SET 4 (TRUE/FALSE) - © 2023 NUUTAN.COM. ALL RIGHTS RESERVED.

22) A successful parse indicates that the input was semantically correct.

Basic Definition(s):

Code Generation: Target code is transformed from intermediate code by a compiler's code generator. It is a part of the compilation process's final stages, and in a compiler's overall structure, it comes after the optimization phases. In general, the code generator performs three activities to translate the optimized intermediate code into target code: (1) Selection of Instructions; (2) Register Allocation; and (3) Instruction Ordering. The code converter must to also: (1) keep the program's original functionality as described by the programmer; and (2) Make target code that is time and space efficient.

Instruction Selection: The following are some of the goals of the Instruction selection activity of code generation: (1) the target machine's instructions should be complete and uniform; (2) the quality of the generated code must be good, i.e. its speed and size.

Register Allocation: Instructions involving register operands are shorter and faster than those involving memory operands. The application of registers is divided into two sub-problems: (1) Register allocation: selects the set of variables that will reside in registers at a given point in the program; and (2) Register assignment: selects the specific register in which a variable will reside.

Instruction Ordering: The order in which the computations are performed can have an impact on the target code's efficiency. Some computation orders necessitate the use of fewer registers to store intermediate results than others.

23 / 60

Category: COMPILER DESIGN: SET 4 (TRUE/FALSE) - © 2023 NUUTAN.COM. ALL RIGHTS RESERVED.

23) INSTRUCTION SELECTION, REGISTER ALLOCATION, and INSTRUCTION ORDERING make up the three tasks of Code Generation.

These three tasks of Code Generation can all be done separately without lowering the caliber (quality) of the generated code?

Basic Definition(s):

LR(1) Parser: To parse the large class of context free grammars, LR parsers are used. This method is known as LR(k) parsing. L represents input scanning from left to right. R is used to build a right most derivation in reverse. k is the number of look-ahead input symbols used to make parsing decisions.

24 / 60

Category: COMPILER DESIGN: SET 4 (TRUE/FALSE) - © 2023 NUUTAN.COM. ALL RIGHTS RESERVED.

24) Leftmost derivations are generated using LR(1) parsers.

Basic Definition(s):

LR(1) Parser: To parse the large class of context free grammars, LR parsers are used. This method is known as LR(k) parsing. L represents input scanning from left to right. R is used to build a right most derivation in reverse. k is the number of look-ahead input symbols used to make parsing decisions.

LR(1) Grammar: It is common practice to build parsers using LR(1) grammars. These are the LR(1) parser. Almost all context-free programming language constructs can be stated in an LR(1) form. The most versatile grammars that can be parsed by a deterministic, bottom-up parser are LR grammar. A proper superset of the languages that are recognized by predictive (i.e., LL) parsers is described by LR grammars.

SLR(1) Grammar: "Simple LR Parser" stands for it. Execution is incredibly easy and cheap. For some classes of grammars, however, it is unable to create a parsing table, which is why CLR and LALR—which implement the majority of these classes and types of grammars—are utilized. In order to perform input string parsing, it creates parsing tables. The term "SLR(1)" refers to a grammar that uses an SLR parsing table. In the event where context-free grammar is provided, SLR Parsing may be performed.

25 / 60

Category: COMPILER DESIGN: SET 4 (TRUE/FALSE) - © 2023 NUUTAN.COM. ALL RIGHTS RESERVED.

25) Every SLR(1) grammar is a LR(1) grammar, but LR(1) grammar is not necessarily SLR(1).

Basic Definition(s):

Hand Written Lexical Analyzer: There are two ways to build a scanner (lexical analyzer). (1) By hand written, beginning with a diagram of how lexemes look, then write code to follow the diagram and return the corresponding token, as well as possibly other information; and (2) feed the patterns describing the lexemes to a "lexer-generator", which then produces the scanner. LEX is the old lexer-generator; FLEX is a more modern one. It should be noted that the speed of the lexical analyzer (not the code generated by the compiler) and error reporting/correction of a hand-written lexical analyzer are typically much better. As a result, the majority of production-level compiler projects develop their own l lexical analyzers.

26 / 60

Category: COMPILER DESIGN: SET 4 (TRUE/FALSE) - © 2023 NUUTAN.COM. ALL RIGHTS RESERVED.

26) Finding the end of a token in a handwritten lexical analyzer is simple because tokens are separated by white space, such as spaces, tabs, et cetera.

Basic Definition(s):

LR Item Set: A production G with a dot at a specific location on the production's right side is an LR(0) item. It is helpful to utilize LR(0) items to show how much of the input has been scanned up to a specific point in the parsing process.

27 / 60

Category: COMPILER DESIGN: SET 4 (TRUE/FALSE) - © 2023 NUUTAN.COM. ALL RIGHTS RESERVED.

27) The dotted item (T -> a • b) indicates which part of the token has already been matched. Basic items are classified into two types: SHIFT items and REDUCE items.

Think about the following:

Integer -> ([0-9])+

This is a reduce item

Basic Definition(s):

Parser: "One that parses" is a parser. It is a piece of software that separate (deconstruct) text into recognizable character strings for later analysis.

28 / 60

Category: COMPILER DESIGN: SET 4 (TRUE/FALSE) - © 2023 NUUTAN.COM. ALL RIGHTS RESERVED.

28) Using a parser, a stream of characters is converted into a stream of tokens.

Basic Definition(s):

Grammar: A grammar is simply a method of describing a language. There are an infinite number of grammars for a particular language. If two grammars describe the same language, they are equivalent. This is especially important when parsing by using top-down parser. While an infinite number of grammars may exist to describe a given language, their parse trees may be very different. An ambiguous grammar is one that can generate two different parse trees for the same sentence (string). Ambiguous grammar is extremely unappealing.

Spuriously Ambiguous: An ambiguous string (sentence) is spuriously ambiguous if all its production trees (parse trees) describe the same semantics; if some of them differ in their semantics, the ambiguity is essential.

Essential Ambiguous: An ambiguous string (sentence) is spuriously ambiguous if all its production trees (parse trees) describe the same semantics; if some of them differ in their semantics, the ambiguity is essential.

29 / 60

Category: COMPILER DESIGN: SET 4 (TRUE/FALSE) - © 2023 NUUTAN.COM. ALL RIGHTS RESERVED.

29) If a grammar can produce a SPURIOUSLY Ambiguous String but not an ESSENTIAL Ambiguous one, it is SPURIOUSLY Ambiguous.

Basic Definition(s):

LR(1) Parser: To parse the large class of context free grammars, LR parsers are used. This method is known as LR(k) parsing. L represents input scanning from left to right. R is used to build a right most derivation in reverse. k is the number of lookahead input symbols used to make parsing decisions.

SLR(1) Parser: SLR stands for "Simple LR Parser." Execution is incredibly easy and affordable. However, it is not able to create a parsing table for all classes of grammars, which is why CLR and LALR, which implement the majority of them, are employed. A grammar is considered to be SLR(1) if it has an SLR parsing table.

30 / 60

Category: COMPILER DESIGN: SET 4 (TRUE/FALSE) - © 2023 NUUTAN.COM. ALL RIGHTS RESERVED.

30) LR(1) parsers are less powerful than SLR(1) parsers.

Basic Definition(s):

Left Factoring: A grammar change called “left factoring” creates a grammar that is better suited for top-down or predictive parser. The top-down parser is unable to decide which grammar production rule to use to parse the given text if many grammar production rules have a common prefix string. Left factoring is the method for transforming a grammar with a common prefix such that top-down parsers will find it useful.

Leftmost Derivation: Left-most derivation is the process of scanning and replacing an input's sentential form from left to right.

String: An alphabet is a limited set of symbols. A string over an alphabet is a finite sequence of symbols from that alphabet. Strings are commonly referred to as words or sentences. The length of a string is the number of symbols (including duplicates) in the string. A language over an alphabet is a countable set of strings over the alphabet.

31 / 60

Category: COMPILER DESIGN: SET 4 (TRUE/FALSE) - © 2023 NUUTAN.COM. ALL RIGHTS RESERVED.

31) A leftmost derivation of a string from a grammar can be produced using the left factoring technique.

Basic Definition(s):

LALR(1) Parser: An LALR(1) parser is a improved version of an LR(0) parser that keeps more precise information in order to disambiguate the grammar. An LR(1) parser is a more powerful parser that stores more precise information than an LALR(1) parser. LALR(1) parsers are always a constant factor greater than LR(0) parsers, and LR(1) parsers are usually exponentially greater than LALR(1) parsers. Any grammar that an LR(0) parser can parse can be parsed by an LALR(1) parser, and any grammar that an LALR(1) parser can parse can be parsed by an LR(1) parser. There are grammars that are LALR(1) but not LR(0), and grammars that are LR(1) but not LALR (1).

LR(1) Parser: To parse the large class of context free grammars, LR parsers are used. This method is known as LR(k) parsing. L represents input scanning from left to right. R is used to build a right most derivation in reverse. k is the number of look-ahead input symbols used to make parsing decisions.

32 / 60

Category: COMPILER DESIGN: SET 4 (TRUE/FALSE) - © 2023 NUUTAN.COM. ALL RIGHTS RESERVED.

32) LALR(1) parsers are more powerful than LR(1) parsers.

Basic Definition(s):

Recursive Descent Parser: Recursive Descent Parser is a top-down parser, which means it constructs the parse tree from the root to the leaf. It recognizes input using recursive functions and may or may not use backtracking. Predictive parsing refers to the type of recursive descent parser that does not require backtracking. Backtracking is defined as "making repeated input scans until we find the correct path". To implement a recursive descent parser, the grammar must have the following properties: (1) It should not be left recursive; (2) It should be left-factored; (3) Recursion should be supported by the language; and (4) If the grammar is not left-factored, the recursive descent parser must use backtracking.

33 / 60

Category: COMPILER DESIGN: SET 4 (TRUE/FALSE) - © 2023 NUUTAN.COM. ALL RIGHTS RESERVED.

33) The recursive descent parser is made up of (recursive) routines, each of which corresponds to a grammar rule.

An empty production (N -> ε) ‘translates’ to a routine consuming the current input token and returning TRUE regardless of its (token) value?

Basic Definition(s):

Stack: A linear data structure called a stack enforces a specific sequence for the execution of operations. LIFO (Last In First Out) or FILO (First In Last Out) may apply to the order.

Bottom Up Parser: It creates a parse tree for an input string, starting at the leaves and working its way up to the root. Bottom-up parser attempts to find the rightmost derivation of a given string backwards.

34 / 60

Category: COMPILER DESIGN: SET 4 (TRUE/FALSE) - © 2023 NUUTAN.COM. ALL RIGHTS RESERVED.

34) In a bottom-up parser, the stack contains an alternating sequence of terminal and non-terminal symbols.

Basic Definition(s):

LEX: The input stream is scanned by a lexical analyzer and creates tokens from character sequences. LEX is a program used to create lexical analyzers.

35 / 60

Category: COMPILER DESIGN: SET 4 (TRUE/FALSE) - © 2023 NUUTAN.COM. ALL RIGHTS RESERVED.

35) LEX is a program that generates lexical analyzer. An LEX-generated lexical analyzer is essentially a recursive descent scanner.

Basic Definition(s):

Ambiguous String: A sentence (string) from a grammar can easily have more than one production tree, implying that the sentence can be produced in more than one way. An ambiguous string is one that has more than one production tree.

Essential Ambiguous: An ambiguous string (sentence) is spuriously ambiguous if all its production trees (parse trees) describe the same semantics; if some of them differ in their semantics, the ambiguity is essential.

Production Tree: A parse tree is a hierarchical structure that represents the grammar's derivation to obtain input strings. The input is represented concretely by a parse tree. It contains all of the input's information. Parse tree also known as Production tree.

Semantics: The study of meaning in language is known as semantics.

36 / 60

Category: COMPILER DESIGN: SET 4 (TRUE/FALSE) - © 2023 NUUTAN.COM. ALL RIGHTS RESERVED.

36) An ambiguous string is ESSENTIAL Ambiguous if the semantics of its Production Tree differ.

Basic Definition(s):

LR(1) Parser: To parse the large class of context free grammars, LR parsers are used. This method is known as LR(k) parsing. L represents input scanning from left to right. R is used to build a right most derivation in reverse. k is the number of look-ahead input symbols used to make parsing decisions. LR Item Set is part of LR Parsers for making its transition table.

37 / 60

Category: COMPILER DESIGN: SET 4 (TRUE/FALSE) - © 2023 NUUTAN.COM. ALL RIGHTS RESERVED.

37) The following two items: A  ->  ·x and B  ->  x· can coexist in an LR item set.

Basic Definition(s):

Left Recursive: Left recursion occurs when the left-most non-terminal in a production of a non-terminal is the non-terminal itself (direct left recursion) or rewrites to the non-terminal through some other non-terminal definitions (indirect left recursion). Take a look at these instances: (1) X -> Xa (direct); (2) X -> Ya; Y -> Xb (indirect).

38 / 60

Category: COMPILER DESIGN: SET 4 (TRUE/FALSE) - © 2023 NUUTAN.COM. ALL RIGHTS RESERVED.

38) Think about the following:

S  ->  a | B

B  ->  Bb | ε

The non-terminal S is left recursive?

Basic Definition(s):

LR(1) Parser: One kind of bottom-up parser is LR parser. It's employed to parse the broad category of grammars. The "L" in LR parsing refers to input scanning from left to right. The letter "R" signifies for building a right most derivation backwards.

39 / 60

Category: COMPILER DESIGN: SET 4 (TRUE/FALSE) - © 2023 NUUTAN.COM. ALL RIGHTS RESERVED.

39) The input symbols are processed by the LR(1) parser from Left to Right.

Basic Definition(s):

Lexical Analyzer: The compiler begins by performing a lexical analysis. It collects updated source code from the language preprocessor that is written as sentences. By removing whitespace from the source code, the lexical analyzer converts these syntaxes into a list of tokens.

Transition Table: A tabular representation of the transition function is what the transition table essentially is. The function takes TWO inputs, a STATE and a SYMBOL, and outputs a STATE (that is, the "NEXT STATE"). A transition table is made up of the following elements: (1) Columns represent INPUT SYMBOLS; (2) Rows represent STATES; (3) Entries correspond to the NEXT STATE; (4) START STATE; and (5) FINAL STATE.

40 / 60

Category: COMPILER DESIGN: SET 4 (TRUE/FALSE) - © 2023 NUUTAN.COM. ALL RIGHTS RESERVED.

40) The transition table in a lexical analyzer records for each state (row) which token, if any, is recognized in that state.

For each token there may be more than one “recognizing” row in the table?

Basic Definition(s):

LR(0) Parser: One kind of bottom-up parsing is LR parsing. It's employed to parse the broad category of grammars. The "L" in LR parsing refers to input scanning from left to right. The letter "R" signifies for building a right most derivation backwards. The look ahead's "K" input symbol count determines how many parsing decisions will be made. The four components of LR parsing are: LR (0) parsing, SLR parsing, CLR parsing, and LALR parsing. If K is 0, then: (1) An LR(k) parser must decide whether or not to reduce without examining input, which means that no state can have two different reduce actions or a reduce and a shift action; and (2) Without examining input, an LL(k) parser must decide which production of a given non-terminal is applicable. In practice, this means that each non-terminal can only have one production, implying that the language must be finite.

41 / 60

Category: COMPILER DESIGN: SET 4 (TRUE/FALSE) - © 2023 NUUTAN.COM. ALL RIGHTS RESERVED.

41) In an LR(0) parser, the action (shift, reduce) depends on a look-ahead symbol (current input token).

Basic Definition(s):

Predictive Parser: Predictive parsing refers to the type of recursive descent parser that does not require backtracking. Backtracking is defined as "making repeated input scans until we find the correct path".

Bottom Up Parser: It creates a parse tree for an input string, starting at the leaves and working its way up to the root. Bottom-up parser attempts to find the rightmost derivation of a given string backwards.

42 / 60

Category: COMPILER DESIGN: SET 4 (TRUE/FALSE) - © 2023 NUUTAN.COM. ALL RIGHTS RESERVED.

42) Predictive parsers are bottom-up parsers.

Basic Definition(s):

Production Tree: A parse tree is a hierarchical structure that represents the grammar's derivation to obtain input strings. The input is represented concretely by a parse tree. It contains all of the input's information. Parse tree also known as Production tree.

Ambiguous String: A sentence (string) from a grammar can easily have more than one production tree, implying that the sentence can be produced in more than one way. An ambiguous string is one that has more than one production tree.

Spuriously Ambiguous: An ambiguous string (sentence) is one that has more than one production tree. A spuriously ambiguous string (sentence) is one in which all of its production trees describe the same semantics.

Semantics: The study of meaning in language is known as semantics.

43 / 60

Category: COMPILER DESIGN: SET 4 (TRUE/FALSE) - © 2023 NUUTAN.COM. ALL RIGHTS RESERVED.

43) If all of the production trees for an ambiguous string describe the same semantics, the string is SPURIOUSLY Ambiguous.

Basic Definition(s):

LR(1) Parser: To parse the large class of context free grammars, LR parsers are used. This method is known as LR(k) parsing. L represents input scanning from left to right. R is used to build a right most derivation in reverse. k is the number of look-ahead input symbols used to make parsing decisions.

SLR(1) Parser: "Simple LR Parser" stands for it. Execution is incredibly easy and cheap. For some classes of grammars, however, it is unable to create a parsing table, which is why CLR and LALR—which implement the majority of these classes and types of grammars—are utilized. In order to perform input string parsing, it creates parsing tables. The term "SLR(1)" refers to a grammar that uses an SLR parsing table. In the event where context-free grammar is provided, SLR Parsing may be performed.

LR(1) Item: An LR(1) item of a CFG G is a string of the form A -> [α • β, a], where A -> αβ is a production in G, and a is a terminal of G or the special symbol ε.

44 / 60

Category: COMPILER DESIGN: SET 4 (TRUE/FALSE) - © 2023 NUUTAN.COM. ALL RIGHTS RESERVED.

44) When we develop an LR(1) parser by recording for each item precisely in which context it appears, we are able to resolve many conflicts that were found in the SLR(1) parser based on FOLLOW sets.

There can be just one element in the look ahead set connected to an LR(1) item?

Basic Definition(s):

Attribute Grammar: A special type of context-free grammar called attribute grammar adds some extra information (attributes) to one or more of its non-terminals in order to offer context-sensitive information. With values like integer, float, character, string, and expressions, each property has a clearly defined range of possibilities. The context-free grammar can be given semantics through attribute grammar, which can also help define the syntax and semantics of a programming language. The nodes of a tree can communicate values or information using attribute grammar (when viewed as a parse-tree).

AST: ASTs (Abstract Syntax Trees) are used to give the compiler a representation of the structure of a program's source code. Typically, a compiler's syntax analysis step produces an AST. It frequently acts as the program's intermediate representation during the several phases the compiler required and has a significant influence on the compiler's final output. Additionally, ASTs are employed in situations like static code analysis. Without actually running the code, automated tools can search through the AST of a program to identify syntax mistakes and problematic patterns.

45 / 60

Category: COMPILER DESIGN: SET 4 (TRUE/FALSE) - © 2023 NUUTAN.COM. ALL RIGHTS RESERVED.

45) Each production rule (N -> a) in an attribute grammar has an associated attribute evaluation rule that specifies how to calculate the values of the inherited attributes of each specific node N in the AST.

Basic Definition(s):

Parser Generator: A parser generator takes a grammar as input and generates source code that can parse character streams using the grammar. The generated code is a parser that takes a string of characters and attempts to match it against the grammar.

Bottom Up Parser: It creates a parse tree for an input string, starting at the leaves and working its way up to the root. Bottom-up parser attempts to find the rightmost derivation of a given string backwards.

AST: ASTs (Abstract Syntax Trees) are used to give the compiler a representation of the structure of a program's source code. Typically, a compiler's syntax analysis step produces an AST. It frequently acts as the program's intermediate representation during the several phases the compiler required and has a significant influence on the compiler's final output. Additionally, ASTs are employed in situations like static code analysis. Without actually running the code, automated tools can search through the AST of a program to identify syntax mistakes and problematic patterns.

Preorder: Preorder traversal involves visiting the root node first, followed by the left sub-tree and finally the right sub-tree.

46 / 60

Category: COMPILER DESIGN: SET 4 (TRUE/FALSE) - © 2023 NUUTAN.COM. ALL RIGHTS RESERVED.

46) The bottom-up parser generates the AST nodes in preorder. AST means abstract syntax tree, or just “syntax tree”.

Basic Definition(s):

LR(1) Parser: To parse the large class of context free grammars, LR parsers are used. This method is known as LR(k) parsing. L represents input scanning from left to right. R is used to build a right most derivation in reverse. k is the number of look-ahead input symbols used to make parsing decisions.

47 / 60

Category: COMPILER DESIGN: SET 4 (TRUE/FALSE) - © 2023 NUUTAN.COM. ALL RIGHTS RESERVED.

47) A LR(1) parser looks ahead at most one input symbol before knowing what action to take.

Basic Definition(s):

Scanner: Software called a scanner converts a string of characters (the program's source file) into a string of tokens that will be fed to the compiler's parser.

Grammar: Programming language syntax is described using grammars. It describes how statements and expressions should be structured.

48 / 60

Category: COMPILER DESIGN: SET 4 (TRUE/FALSE) - © 2023 NUUTAN.COM. ALL RIGHTS RESERVED.

48) The grammatical structure of a language is unknown to scanners.

Basic Definition(s):

Left Factoring: A grammar change called “left factoring” creates a grammar that is better suited for top-down or predictive parser. The top-down parser is unable to decide which grammar production rule to use to parse the given text if many grammar production rules have a common prefix string. Left factoring is the method for transforming a grammar with a common prefix such that top-down parsers will find it useful.

Left Associative Operators: It is determined by associativity whether operators are executed in a left-to-right or right-to-left order. For instance, the assignment operator is employed from right to left in the sentence x = y = z = 3. In other words, z is given the value 3, then z is given to y, and finally y is given to x. (a = (b = (c = 8) is the parenthesized version of this sentence. Left associative operators of the same precedence are evaluated in order from left to right. For example, addition and subtraction have the same precedence and they are left-associative.

49 / 60

Category: COMPILER DESIGN: SET 4 (TRUE/FALSE) - © 2023 NUUTAN.COM. ALL RIGHTS RESERVED.

49) To factor out Left Associative Operators, utilize the Left Factoring method.

Basic Definition(s):

Recursive Descent Parser: Recursive Descent Parser is a top-down parser, which means it constructs the parse tree from the root to the leaf. It recognizes input using recursive functions and may or may not use backtracking. Predictive parsing refers to the type of recursive descent parser that does not require backtracking. Backtracking is defined as "making repeated input scans until we find the correct path." To implement a recursive descent parser, the grammar must have the following properties: (1) It should not be left recursive; (2) It should be left-factored; (3) Recursion should be supported by the language; and (4) If the grammar is not left-factored, the recursive descent parser must use backtracking.

Pushdown Automata: A finite automaton with a stack-based memory is known as a pushdown automaton (PDA).

50 / 60

Category: COMPILER DESIGN: SET 4 (TRUE/FALSE) - © 2023 NUUTAN.COM. ALL RIGHTS RESERVED.

50) A PDA (Pushdown Automata) serves as the foundation for a recursive descent parser.

Basic Definition(s):

Sentence: An alphabet is a finite non-empty set A of elements (or vocabulary). Symbols are the alphabet's elements (or letters). A sentence (or word) over A is a set of finite length symbols of A.

Production Tree: A parse tree is a hierarchical structure that represents the grammar's derivation to obtain input strings. The input is represented concretely by a parse tree. It contains all of the input's information. Parse tree also known as Production tree.

Ambiguous: "Having or expressing more than one conceivable meaning" is what is meant by the word ‘ambiguous’.

51 / 60

Category: COMPILER DESIGN: SET 4 (TRUE/FALSE) - © 2023 NUUTAN.COM. ALL RIGHTS RESERVED.

51) A sentence is considered Ambiguous if it has more than one Production Tree.

Basic Definition(s):

Parser: The parser is the phase of the compiler that takes a token string as input and converts it into the corresponding Intermediate Representation (IR) using existing grammar. Syntax Analyzer is another name for the parser.

Abstract Syntax Tree: ASTs (Abstract Syntax Trees) are used to give the compiler a representation of the structure of a program's source code. Typically, a compiler's syntax analysis step produces an AST. It frequently acts as the program's intermediate representation during the several phases the compiler required and has a significant influence on the compiler's final output. Additionally, ASTs are employed in situations like static code analysis. Without actually running the code, automated tools can search through the AST of a program to identify syntax mistakes and problematic patterns.

52 / 60

Category: COMPILER DESIGN: SET 4 (TRUE/FALSE) - © 2023 NUUTAN.COM. ALL RIGHTS RESERVED.

52) Tokens are converted into an AST (Abstract Syntax Tree) by a parser.

Basic Definition(s):

SLR(1): "Simple LR Parser" stands for it. Execution is incredibly easy and cheap. For some classes of grammars, however, it is unable to create a parsing table, which is why CLR and LALR—which implement the majority of these classes and types of grammars—are utilized. In order to perform input string parsing, it creates parsing tables. The term "SLR(1)" refers to a grammar that uses an SLR parsing table. In the event where context-free grammar is provided, SLR Parsing may be performed.

LR(0): One kind of bottom-up parsing is LR parsing. It's employed to parse the broad category of grammars. The "L" in LR parsing refers to input scanning from left to right. The letter "R" signifies for building a right most derivation backwards. The look ahead's "K" input symbol count determines how many parsing decisions will be made. The four components of LR parsing are: LR (0) parsing, SLR parsing, CLR parsing, and LALR parsing. If K is 0, then: (1) An LR(k) parser must decide whether or not to reduce without examining input, which means that no state can have two different reduce actions or a reduce and a shift action; and (2) Without examining input, an LL(k) parser must decide which production of a given non-terminal is applicable. In practice, this means that each non-terminal can only have one production, implying that the language must be finite.

Subset: If every element in a set A is also an element in a set B, then the set A is a subset of the set B. The set A is therefore contained within the set B.

53 / 60

Category: COMPILER DESIGN: SET 4 (TRUE/FALSE) - © 2023 NUUTAN.COM. ALL RIGHTS RESERVED.

53) SLR(1) is a subset of LR(0).

Basic Definition(s):

LR(1) Parser: To parse the large class of context free grammars, LR parsers are used. This method is known as LR(k) parsing. L represents input scanning from left to right. R is used to build a right most derivation in reverse. k is the number of look-ahead input symbols used to make parsing decisions.

54 / 60

Category: COMPILER DESIGN: SET 4 (TRUE/FALSE) - © 2023 NUUTAN.COM. ALL RIGHTS RESERVED.

54) A LR(1) parser processes the input symbols from left to right.

Basic Definition(s):

PASCAL: Niklaus Wirth created the general-purpose, high-level programming language ‘PASCAL’ in the first half of the 1970s.

55 / 60

Category: COMPILER DESIGN: SET 4 (TRUE/FALSE) - © 2023 NUUTAN.COM. ALL RIGHTS RESERVED.

55) Think about this PASCAL code:

PROCEDURE proc (i : integer; VAR j : integer);

There are 10 tokens in it.

Basic Definition(s):

Compiler: A compiler is a specialized software application that transforms source code written in one programming language into another language, typically machine language (also known as machine code), so that processors can understand it (i.e., logic chips).

Code Optimization: Any approach of modifying a piece of code to increase its effectiveness and quality is known as code optimization. An application can be optimized to reduce its size, use less memory, run more quickly, or carry out fewer input/output activities.

Pre-processor: It is a computer programs that perform operations on source files before actually compiling them.

56 / 60

Category: COMPILER DESIGN: SET 4 (TRUE/FALSE) - © 2023 NUUTAN.COM. ALL RIGHTS RESERVED.

56) Code optimization is a task carried out by a compiler but not by a pre-processor.

Basic Definition(s):

LR Item Set: A production G with a dot at a specific location on the production's right side is an LR(0) item. It is helpful to utilize LR(0) items to show how much of the input has been scanned up to a specific point in the parsing process.

57 / 60

Category: COMPILER DESIGN: SET 4 (TRUE/FALSE) - © 2023 NUUTAN.COM. ALL RIGHTS RESERVED.

57) The dotted item (T -> a • b) indicates which part of the token has already been matched. SHIFT items and REDUCE items are the two types of basic items.

Think about the following:

Integer -> ([0-9])+ ·

This is a SHIFT item?

Basic Definition(s):

Lexical Analyzer: The compiler begins by performing a lexical analysis. It collects updated source code from the language preprocessor that is written as sentences. By removing whitespace from the source code, the lexical analyzer converts these syntaxes into a list of tokens.

Finite State Automata: A state machine known as a finite state automaton (FSA) changes its state in response to a string of symbols that are fed into it. A regular expression recognizer is a finite automaton. Finite automata modify their state for each literal when a regular expression string is supplied to them.

Regular Description: Regular Expressions (Regular Descriptions) make it easy to explain the language that finite automata can understand. It is the best technique to represent any language. Regular languages are the languages that some regular expressions accept. A series of patterns that define a string can also be used to describe a regular expression.

58 / 60

Category: COMPILER DESIGN: SET 4 (TRUE/FALSE) - © 2023 NUUTAN.COM. ALL RIGHTS RESERVED.

58) A lexical analyzer generator generates an FSA (Finite State Automaton) that recognizes tokens automatically.

A regular description drives the generator?

Basic Definition(s):

LR(0): One kind of bottom-up parsing is LR parsing. It's employed to parse the broad category of grammars. The "L" in LR parsing refers to input scanning from left to right. The letter "R" signifies for building a right most derivation backwards. The look ahead's "K" input symbol count determines how many parsing decisions will be made. The four components of LR parsing are: LR (0) parsing, SLR parsing, CLR parsing, and LALR parsing. If K is 0, then: (1) An LR(k) parser must decide whether or not to reduce without examining input, which means that no state can have two different reduce actions or a reduce and a shift action; and (2) Without examining input, an LL(k) parser must decide which production of a given non-terminal is applicable. In practice, this means that each non-terminal can only have one production, implying that the language must be finite.

SLR(1) Grammar: "Simple LR Parser" stands for it. Execution is incredibly easy and cheap. For some classes of grammars, however, it is unable to create a parsing table, which is why CLR and LALR—which implement the majority of these classes and types of grammars—are utilized. In order to perform input string parsing, it creates parsing tables. The term "SLR(1)" refers to a grammar that uses an SLR parsing table. In the event where context-free grammar is provided, SLR Parsing may be performed.

59 / 60

Category: COMPILER DESIGN: SET 4 (TRUE/FALSE) - © 2023 NUUTAN.COM. ALL RIGHTS RESERVED.

59) Think about the following:

S -> A | xb

A -> aAb | x

This is neither LR(0) nor SLR(1) grammar.

Basic Definition(s):

Top Down Parser: Top-down parsers build a parse tree for the input by starting at the root and creating nodes in pre-order. Top-down parsing is equivalent to finding the leftmost derivation for an input string.

FIRST Set: FIRST is a function associated with grammar that helps us fill in the entries of transition table. It is a function that gives the set of terminals that begin the strings derived from the production rule. A symbol c is in FIRST(α) if and only if α => cβ for some sequence β of grammar symbols.

60 / 60

Category: COMPILER DESIGN: SET 4 (TRUE/FALSE) - © 2023 NUUTAN.COM. ALL RIGHTS RESERVED.

60) We must compute the FIRST sets of all production alternatives when building a top-down parser. FIRST(a), the FIRST set of an alternative 'a’, contains all terminals a can begin with it. If 'a' can produce the empty string ε, this is included in FIRST(a).

Think about the following:

S -> AB

A -> ε | aA

B -> b | bB

FIRST(S) contains 2 elements.

THE RESULTS ARE CURRENTLY LOADING, SO PLEASE BE PATIENT.

Your score is

0%

Exit

REVIEWS

Compiler Test Overview:

Answer 60 True/False MCQs in just 30 minutes and aim for a 60% passing rate. Our comprehensive Compiler Test is designed to challenge your understanding of Compiler Design concepts and assess your problem-solving abilities.

Global Reach of Compiler Test:

Tailored for students worldwide, studying Compiler Design in their syllabus. No matter where you are located, our online assessment is readily accessible, enabling students from all corners of the globe to benefit from this valuable learning tool.

For All Students of Compiler Design:

Whether you’re a Compiler Design student anywhere in the world or pursuing B.Tech., M.Tech., BCA, or MCA in India, this test is your gateway to academic excellence. It serves as a comprehensive evaluation of your knowledge, ensuring you are well-prepared for Compiler Design-related challenges.

Crucial Preparation for Competitive Exams:

Invaluable for competitive exams like GATE, NET, SLET, DRDO, and ISRO. Our Compiler Test goes beyond regular academic assessments, offering specialized preparation for prestigious competitive examinations. Prepare with confidence and boost your chances of success in these highly sought-after tests.

Embrace the Challenge of Compiler Test:

Unlock your academic brilliance today with the Compiler Test! Embrace the challenge of 60 thought-provoking True/False MCQs that will test your grasp of Compiler Design principles. Demonstrate your prowess in Compiler Design and set yourself on the path to academic excellence.

Engaging Test Content of Compiler Test:

Experience 60 carefully curated True/False MCQs that challenge your knowledge and problem-solving skills. Our test content is designed to keep you engaged throughout the assessment, fostering active learning and promoting a deeper understanding of Compiler Design concepts.

Time Management in Compiler Test:

Race against the clock in a time-bound setting to enhance your efficiency. As time is of the essence, our test will help you develop essential time management skills, which are vital for tackling time-sensitive academic and professional challenges.

Expert-Crafted Compiler Test:

Prepare with confidence, knowing our test content is crafted by Compiler Design experts. Our team of subject matter specialists ensures the accuracy and relevance of the test questions, providing you with a reliable assessment of your Compiler Design knowledge.

Don’t Miss Out on Compiler Test:

Buy this online Compiler Test and gain a competitive edge in Compiler Design! Don’t miss out on this opportunity to enhance your skills and boost your academic and professional prospects. Prepare to excel in Compiler Design and make a mark in the world of technology and innovation.

Copyright

All rights reserved. Unauthorized reproduction or distribution of this content, in whole or in part, is strictly prohibited. Violators will be held liable under applicable copyright laws. © Nuutan.com, 2023.


Discover an Ocean of Educational Resources! We provide a wide variety of learning materials that you can access through our internal links.

  • Nuutan.com is your gateway to a world of information and academic accomplishment. Books in e-book form, multiple-choice question-based online practice tests, practice sets, lecture notes, and essays on a wide range of topics, plus much more!

https://www.nuutan.com/

  • Nuutan.com is your one-stop-shop for all kinds of academic e-books, and it will greatly facilitate your educational path.

https://www.nuutan.com/product-category/k12-cuet-iit-jee-neet-gate-university-subjects

  • Online multiple-choice tests are available for a variety of subjects on Nuutan.com.

https://www.nuutan.com/product-category/multiple-choice-question

  • The Practice Sets on Nuutan.com will improve your performance in any situation.

https://www.nuutan.com/product-category/k12-cuet-iit-jee-neet-gate-cs-btech-mca

  • The in-depth lecture notes available on Nuutan.com will significantly improve your academic performance.

https://www.nuutan.com/product-category/k12-cuet-iit-jee-neet-gate-bca-mca-btech-mtech

  • Show off your writing chops and gain an edge in educational settings and in the workplace with Profound Essays from Nuutan.com.

https://www.nuutan.com/product-category/k12-competitive-exams-essays

  • Nuutan.com is a treasure trove of knowledge thanks to its free academic articles covering a wide variety of subjects. Start your academic engine!

https://www.nuutan.com/nuutans-diary

  • Discover our roots and learn how Nuutan.com came to be. Read up about us on the “About Us” page of our website!

https://www.nuutan.com/about-us

  • Embrace a Future of Knowledge and Empowerment! is the vision of the future that Nuutan.com has unveiled.

https://www.nuutan.com/vision

  • Become an author by publishing your work on the Nuutan.com platform.

https://www.nuutan.com/create-a-publication-with-us


The External Link Related to This Academic Product:

  • GOOGLE BOOKS: Here are a few Google links to help you learn about Compiler Design, including Automata Theory, which is also very helpful for getting a good grasp of Compiler Design.

(1) Mastering Compiler Design: Your Ultimate MCQ Guide to Exam Success

https://books.google.co.in/books/about/Compiler_Design_MCQ_Book.html?id=oZuLEAAAQBAJ&redir_esc=y

(2) Compiler Design MCQs: An Ultimate Practice Book

https://books.google.co.in/books?id=JOZDEAAAQBAJ&pg=PA173&lpg=PA173&dq=nuutan&source=bl&ots=r1dGahQAbC&sig=ACfU3U0eLnUM7zWw3iCP6u9e6bXDIrtxRQ&hl=en&sa=X&ved=2ahUKEwiDivXo3OOAAxVQUGwGHerYD_Q4ChDoAXoECBYQAw#v=onepage&q=nuutan&f=false

(3) Automata Theory – A Step-by-Step Approach (Lab/Practice Work with Solution)

https://books.google.co.in/books/about/Automata_Theory_A_Step_by_Step_Approach.html?id=_XkoswEACAAJ&redir_esc=y

  • YOUTUBE VIDEO:

https://www.youtube.com/watch?v=5yFdTSbqsWE

  • SCRIBD:

https://www.scribd.com/document/489307274/compiler-design-multiple-choice-questions-answers-1-pdf#

  • ACADEMIA:

https://www.academia.edu/36463069/Compiler_mcq

  • SLIDESHARE:

https://www.slideshare.net/SatyamJaiswal54/compiler-design-quiz

  • COURSE HERO:

https://www.coursehero.com/file/129056939/Compiler-MCQ-CS-702pdf/

  • BYJU’S EXAM PREP:

https://byjus.com/gate/compiler-design-mcqs/

  • DOCSITY:

https://www.docsity.com/en/compiler-design-mcq/7356849/

  • OPENGENUS:

https://iq.opengenus.org/compiler-design-mcq/

  • STUDOCU:

https://www.studocu.com/row/document/government-college-university-faisalabad/compiler-construction/compiler-construction-mcq-with-answer-explanation-principles-of-modern-compiler-design-mcq-set-sppu-exam-covid-19-time/13165841

  • GRADUATE APTITUDE TEST IN ENGINEERING (GATE) 2024:

https://gate2024.iisc.ac.in/

  • UGC NET ONLINE (SYLLABUS AVAILABLE ONLINE):

https://www.ugcnetonline.in/NTA_All_R_Syllabus/87/Computer%20Science%20and%20Applications_English%20Only.pdf

  • DRDO (CAREER WEBSITE) – RECRUITMENT AND ASSESSMENT CENTRE (RAC):

https://rac.gov.in/index.php?lang=en&id=0

  • ISRO (CAREER WEBSITE):

https://www.isro.gov.in/Careers.html

  • STATE LEVEL ELIGIBILITY TEST (SLET) – ASSAM NE REGION:

https://sletneonline.co.in/

  • STANFORD ONLINE:

https://online.stanford.edu/courses/soe-ycscs1-compilers

  • IEEE XPLORE (COMPILER DESIGN RESEARCH PAPERS):

https://ieeexplore.ieee.org/document/7814827


As a result of your constant backing and encouragement, Nuutan.com is extremely appreciative and thankful.

These are the various sharing options available for this page.