All Exams  >   Computer Science Engineering (CSE)  >   Compiler Design  >   All Questions

All questions of Introduction to Compiler for Computer Science Engineering (CSE) Exam

A regular expression enables a quick test to determine objects and text strings with undependable values.
a) True
b) False
Correct answer is option 'A'. Can you explain this answer?

Anjana Mishra answered
Regular Expressions for Quick Test

Regular expressions are a sequence of characters used to define a search pattern. It is a powerful tool used in computer science that enables a quick test to determine objects and text strings with undependable values.

Benefits of Regular Expressions

Regular expressions provide many benefits, including:

1. Quick Identification: Regular expressions enable a quick identification of objects and text strings with undependable values.

2. Consistency: Regular expressions help to maintain consistency and accuracy in searches.

3. Flexibility: Regular expressions provide a high degree of flexibility in searches, allowing the user to search for specific patterns of characters.

4. Efficiency: Regular expressions are efficient and can handle large amounts of data quickly and accurately.

Example

For example, suppose we want to search for all email addresses that end with ".com." We can use a regular expression to search for patterns that match this requirement. The regular expression for this search would be:

/.+@.+\.com$/

This regular expression will match any email address that ends with ".com." The regular expression consists of several different components, including:

1. / - the beginning and end of the regular expression

2. .+ - any number of characters

3. @ - the "@" symbol

4. .+ - any number of characters

5. \.com - the ".com" string

6. $ - the end of the regular expression

Conclusion

In conclusion, regular expressions are a powerful tool for quick testing of objects and text strings. They provide consistency, flexibility, and efficiency in searches. Regular expressions are widely used in computer science, and knowledge of regular expressions can be a valuable asset for programmers and developers.

Given a NFA with N states, the maximum number of states in an equivalent minimized DFA is at least.
a) 2N
b) 2^N
c) N!
d) none of these
Correct answer is option 'B'. Can you explain this answer?

Arindam Goyal answered
Solution:

The given question is related to the conversion of NFA to DFA and finding the maximum number of states in an equivalent minimized DFA.

NFA to DFA Conversion:

- To convert NFA to DFA, we need to follow the subset construction algorithm. In this algorithm, we consider each state of the DFA as a set of NFA states.
- Initially, the start state of the DFA is the epsilon closure of the start state of the NFA.
- Then, for each input symbol, we find the set of states reachable from the current state of DFA by that input symbol. This set becomes the next state of the DFA.
- We repeat this process for all the states of the DFA until we get all the possible states.

Minimization of DFA:

- After converting NFA to DFA, we need to minimize the DFA to get an equivalent DFA with the minimum number of states.
- We use the state minimization algorithm to minimize the DFA. In this algorithm, we merge the states of the DFA which are equivalent, i.e., they have the same set of outgoing transitions for all input symbols.

Maximum Number of States in Minimized DFA:

- The maximum number of states in an equivalent minimized DFA can be found using the Myhill-Nerode theorem.
- According to this theorem, the number of states in a minimized DFA is at least equal to the number of distinct equivalence classes of strings in the language of the NFA.
- The number of distinct equivalence classes of strings in the language of the NFA is equal to 2^N, where N is the number of states in the NFA.
- Therefore, the maximum number of states in an equivalent minimized DFA is 2^N.

Conclusion:

Hence, we can conclude that the maximum number of states in an equivalent minimized DFA is at least 2^N.

What will be output of the following c code?
#include<stdio.h>
int main()
{
int a= sizeof(signed) +sizeof(unsigned);
int b=sizeof(const)+sizeof(volatile);
printf("%d",a+++b);
return 0;
}
  • a)
    10
  • b)
    9
  • c)
    8
  • d)
    Error
Correct answer is option 'C'. Can you explain this answer?

Puja Bajaj answered
Explanation: Default data type of signed, unsigned, const and volatile is intSo, a = 4 and b =4
Now, a+++b
= a++ + b
= 4 + 4 //due to post increment operator.
=8
But in Linux gcc compiler size of int is 4 byte so your out will be 16.

The __________ is a technique for building cross compilers for other machines
  • a)
    Brazilian Cross
  • b)
    Canadian Cross
  • c)
    Mexican Cross
  • d)
    X-cross
Correct answer is option 'B'. Can you explain this answer?

Vaishnavi Dey answered
Explanation: The Canadian Cross is a technique for building cross compilers for other machines. Given three machines X, Y, and Z, one uses machine X (e.g. running Windows XP on an IA-32 processor) to build a cross compiler that runs on machine Y (e.g. running Mac OS X on an x86-64 processor) to create executables for machine Z.

If R is regular language and Q is any language (regular/ non regular), then Pref (Q in R) is _____________
  • a)
    Non-regular
  • b)
    Equal
  • c)
    Infinite
  • d)
    Regular
Correct answer is option 'D'. Can you explain this answer?

Explanation:

To understand why the correct answer is option 'D', let's break down the question and analyze the given information.

Regular Languages:
A regular language is a language that can be recognized by a finite automaton (FA) or expressed by a regular expression. Regular languages have certain properties that make them predictable and easy to work with.

Pref(Q in R):
The notation "Pref(Q in R)" represents the set of all prefixes of strings in language Q that are also in language R. In other words, Pref(Q in R) contains all the prefixes of strings in Q that are also in R.

Given Information:
We are given that R is a regular language, and Q can be any language (regular or non-regular).

Proof:
To prove that Pref(Q in R) is regular, we can construct a finite automaton (FA) that recognizes this language.

Let's assume that Q is recognized by an FA M_Q and R is recognized by an FA M_R.

Construction:
1. Start with the initial state of M_Q and M_R as the initial state of the new FA.
2. For each state (q1, r1) in the new FA, if q1 is an accepting state in M_Q or r1 is an accepting state in M_R, mark (q1, r1) as an accepting state in the new FA.
3. For each input symbol, if (q1, r1) transitions to (q2, r2) in M_Q and (q1, r1) transitions to (q3, r3) in M_R, then in the new FA, (q1, r1) transitions to (q2, r2) and (q3, r3) on the same input symbol.
4. Repeat step 3 for all possible transitions in M_Q and M_R.
5. The new FA will recognize Pref(Q in R).

This construction proves that Pref(Q in R) is regular. Therefore, the correct answer is option 'D' - regular.

Number of states of FSM required to simulate behaviour of a computer with a memory capable of storing “m” words, each of length ‘n’
  • a)
    m x 2n
  • b)
    2mn
  • c)
    2(m+n)
  • d)
    All of the mentioned
Correct answer is option 'B'. Can you explain this answer?

Rajeev Menon answered
For every Data here length is n and memory’s state is defined in terms of power of 2, Here the total memory capability for all the words = mn Hence the number of states is2^mn.

What will be output of the following code?
#include<stdio.h>
int main()
{
printf("%d\t",sizeof(6.5));
printf("%d\t",sizeof(90000));
printf("%d",sizeof('A'));
return 0;
}
  • a)
    8 4 2
  • b)
    8 4 4
  • c)
    8 4 3
  • d)
    none of these
Correct answer is option 'B'. Can you explain this answer?

Soumya Dey answered
Explanation:

sizeof() Function:
- The sizeof() function in C is used to find out the size of a variable or a data type in bytes.

Output Explanation:
- sizeof(6.5) will return 8 because the size of a double data type is 8 bytes in C.
- sizeof(90000) will return 4 because the size of an int data type is 4 bytes in C.
- sizeof(A) will return 4 because the size of an int data type is 4 bytes in C.
Therefore, the output of the code will be:
8 4 4
So, the correct answer is option 'B'.

f A, B and C are any three sets, then A – (B ∪ C) is equal to
  • a)
    (A – B) ∪ (A – C)
  • b)
    (A – B) ∪ C
  • c)
    (A – B) ∩ (A – C)
  • d)
    (A – B) ∩ C
Correct answer is option 'C'. Can you explain this answer?

Tanishq Chavan answered
$\cup$ (B $\cap$ C) = (A $\cup$ B) $\cap$ (A $\cup$ C)

This identity is known as the distributive law of sets. It states that the union of A with the intersection of B and C is equivalent to the intersection of A with the union of B and C. In other words, it shows how the operations of union and intersection can be distributed over each other.

You can use RE, if you expect the value of a property to change in an unpredictable way each time its run.
  • a)
    True
  • b)
    False
Correct answer is option 'B'. Can you explain this answer?

Dishani Shah answered
Introduction:
The given statement is false. Regular expressions (RE) are not suitable for handling unpredictable changes in the value of a property each time it is run. In this response, we will explain why regular expressions are not the appropriate tool for dealing with such scenarios.

Explanation:
1. Understanding Regular Expressions (RE):
Regular expressions are a sequence of characters that form a search pattern. They are used to match and manipulate strings based on specific patterns. RE provides a concise and powerful way to search, extract, and manipulate textual data.

2. Predictability and Unpredictability:
In the context of the given statement, predictability refers to the ability to anticipate or forecast the changes in the value of a property each time it is run. Unpredictability, on the other hand, means that the changes in the property's value cannot be anticipated or forecasted accurately.

3. Limitations of Regular Expressions:
Regular expressions have certain limitations that make them unsuitable for handling unpredictable changes in property values. These limitations include:

a. Lack of Context Awareness:
Regular expressions operate on a pattern-matching basis and do not have the capability to understand the context or meaning of the data they are processing. They are primarily designed for matching patterns in static or predictable data.

b. Inability to Adapt to Changing Patterns:
Regular expressions are not designed to adapt to dynamic or changing patterns. If the pattern of the property's value changes in an unpredictable way, regular expressions may not be able to handle it effectively.

c. Lack of Robustness:
Regular expressions are sensitive to the slightest changes in the input data. Even minor variations in the property's value can lead to the failure of the regular expression matching process.

4. Alternatives to Regular Expressions:
To handle unpredictable changes in the value of a property, other approaches or tools can be used, such as:

a. Machine Learning:
Machine learning techniques can be employed to build models that can learn and adapt to changing patterns in the property's value. These models can make predictions based on historical data and adjust their behavior accordingly.

b. Statistical Analysis:
Statistical analysis can help identify trends and patterns in the property's value and provide insights into its changing behavior. This can be useful in predicting future changes.

c. Data Mining:
Data mining techniques can be applied to extract valuable information from the property's value over time. This can help in understanding the underlying patterns and making informed predictions.

Conclusion:
Regular expressions are not suitable for handling unpredictable changes in the value of a property each time it is run. Their lack of context awareness, inability to adapt to changing patterns, and sensitivity to variations make them ineffective in such scenarios. Other approaches like machine learning, statistical analysis, and data mining are better suited to handle these situations.

Cross compiler is used in Bootstrapping.
  • a)
    True
  • b)
     False
Correct answer is option 'A'. Can you explain this answer?

Nishanth Mehta answered
Explanation: Bootstrapping to a new platform. When a software is developed for a new platform, a cross compiler is used to compile necessary tools such as the OS and a native compiler.

All ___________ Are automatically treated as regular expressions.
  • a)
    Programmatic description
  • b)
    Window
  • c)
    Win Object
  • d)
    Collection
Correct answer is option 'A'. Can you explain this answer?

Anisha Ahuja answered
Introduction:
In computer science, regular expressions are a powerful tool for pattern matching and manipulating text. They are used to search, match, and replace strings based on a specific pattern. Regular expressions are widely used in programming languages, text editors, and other software applications.

Explanation:
Regular expressions are a specific syntax that allows us to describe patterns in strings. These patterns can be used to search for specific substrings, validate input, or extract information from text. In programming languages and most software applications, regular expressions are represented as strings, which are then interpreted by a regular expression engine.

Programmatic description:
A programmatic description refers to any description or representation of a program or code that can be executed by a computer. It includes variables, functions, control structures, and other programming constructs. Since regular expressions are a part of programming languages, they are considered programmatic descriptions.

Automatic treatment as regular expressions:
When a program or software encounters a string that matches the syntax of a regular expression, it automatically treats that string as a regular expression. This means that the program will use the regular expression to perform pattern matching or other operations specified by the regular expression.

Examples:
Here are a few examples to illustrate the automatic treatment of programmatic descriptions as regular expressions:

1. Searching for a specific pattern:
Let's say we have a program that searches for email addresses in a text document. The program can use a regular expression like `[\w.-]+@[\w.-]+\.\w+` to find all email addresses in the document. When the program encounters this regular expression, it automatically treats it as a pattern to search for.

2. Validating user input:
Suppose we have a form that asks for a phone number. We can use a regular expression like `^\d{3}-\d{3}-\d{4}$` to ensure that the user enters a valid phone number in the format XXX-XXX-XXXX. When the program receives the user's input, it automatically treats the regular expression as a validation rule and checks if the input matches the pattern.

3. Replacing text:
In a text editor, we can use regular expressions to replace certain patterns with other text. For example, we can use a regular expression like `s/\b(\w+)\b/\1/g` to replace all occurrences of a word with its uppercase version. When the text editor encounters this regular expression, it automatically treats it as a substitution rule.

Conclusion:
Regular expressions are a powerful tool for pattern matching and manipulating text. In programming languages and most software applications, programmatic descriptions that match the syntax of regular expressions are automatically treated as regular expressions. This allows for efficient pattern matching, text validation, and text manipulation.

If ∑ = {a, b, c, d, e, f} then number of strings in ∑ of length 4 such that no symbol is used more than once in a string is
  • a)
    35
  • b)
    360
  • c)
    49
  • d)
    720
Correct answer is option 'B'. Can you explain this answer?

Explanation: Here string length is 4 so we create string of length 4 by 6 values firstly we arrange any value by 6 methods. Then Remaining numbers are 5 so we can arrange them by 5 methods then remaining numbers are 4 so we arrange them by 4 methods and then 3.Thus 6*5*4*3=360.

The RE gives none or many instances of an x or y is
  • a)
    (x+y)
  • b)
    (x+y)*
  • c)
    (x* + y)
  • d)
    (xy)*
Correct answer is option 'B'. Can you explain this answer?

Rajat Sharma answered
Explanation: Whether x or y is denoted by x+y and for zero or more instances it is denoted but (x+y)*.

 What will be output of the following c code?
#include<stdio.h>
int main()
{
volatile int a=11;
printf("%d",a);
return 0;
}
  • a)
    11
  • b)
    Garbage
  • c)
    -2
  • d)
    Cannot Predict
Correct answer is option 'D'. Can you explain this answer?

Sarthak Desai answered

- **Explanation:**

- **Declaration of a Variable:**
- In the given code, a variable 'a' is declared as a volatile integer with an initial value of 11.

- **Printing the Value:**
- The value of variable 'a' is then printed using the printf() function with the format specifier %d.

- **Volatile Keyword:**
- The volatile keyword is used to indicate that a variable may be changed by external factors outside the program's control.
- In this case, since 'a' is declared as volatile, the value of 'a' could potentially change during program execution due to external factors.

- **Output Prediction:**
- Since the value of 'a' is printed immediately after its declaration and initialization, it is expected to output 11 in most cases.
- However, due to the volatile nature of the variable, the value of 'a' could potentially change before it is printed, leading to unpredictable output.

- **Conclusion:**
- The output of the code cannot be accurately predicted due to the volatile nature of the variable 'a'. It may print 11 or some other unpredictable value depending on external factors.

 Which of the following is right?
  • a)
    A Context free language can be accepted by a deterministic PDA
  • b)
    union of 2 CFLs is context free
  • c)
    The intersection of two CFLs is context free
  • d)
    The complement of CFLs is context free
Correct answer is option 'B'. Can you explain this answer?

Rohan Patel answered
Explanation:
Context-free languages (CFLs) are a type of formal language that can be generated by a context-free grammar (CFG). A deterministic pushdown automaton (DPDA) is a type of automaton that can recognize a context-free language.

a) A Context-free language can be accepted by a deterministic PDA
This statement is true. A DPDA can recognize a context-free language by pushing and popping symbols onto a stack based on the rules of a CFG.

b) Union of 2 CFLs is context free
This statement is true. If we have two CFLs, we can construct a CFG that generates their union. We can do this by taking the union of the two CFGs and adding a new start symbol that derives the start symbols of the original CFGs.

c) The intersection of two CFLs is context free
This statement is false. The intersection of two CFLs may not be a CFL. There may be no CFG that generates the intersection of the two CFLs.

d) The complement of CFLs is context free
This statement is false. The complement of a CFL may not be a CFL. There may be no CFG that generates the complement of the CFL.

Therefore, the correct answer is option 'B'.

What will be output of the following c code?
#include<stdio.h>
int main()
{
const int *p;
int a=10;
p=&a;
printf("%d",*p);
return 0;
}
  • a)
    0
  • b)
    10
  • c)
    Garbage Value
  • d)
    Any Memory address
Correct answer is option 'B'. Can you explain this answer?

Explanation:
- Declaration of Pointer:
- In the given code, a pointer variable p is declared as const int *, which means it is a pointer to a constant integer.
- Assignment:
- An integer variable a is declared and initialized with a value of 10.
- The address of variable a is assigned to the pointer variable p using p=&a.
- Printing Value:
- The value pointed to by p is printed using printf("%d", *p).
- Since p points to the address of variable a, the value of a (which is 10) is printed.
Therefore, the output of the code will be 10.

Which one of the following statement is FALSE?
  • a)
    Context-free languages are closed under union
  • b)
    Context-free languages are closed under concatenation
  • c)
    Context-free languages are closed under intersection
  • d)
    Context-free languages are closed under Kleene closure
Correct answer is option 'C'. Can you explain this answer?

Surbhi Kaur answered
he FALSE statement is:
3. Context-free languages are closed under intersection.
Explanation:
  • Context-free languages (CFLs) are closed under:
    • Union: If L1L_1L1​ and L2L_2L2​ are CFLs, L1∪L2L_1 \cup L_2L1​∪L2​ is also a CFL.
    • Concatenation: If L1L_1L1​ and L2L_2L2​ are CFLs, L1⋅L2L_1 \cdot L_2L1​⋅L2​ (concatenation) is also a CFL.
    • Kleene closure: If LLL is a CFL, the Kleene closure (repetition) of LLL, denoted as L∗L^*L∗, is also a CFL.
However, CFLs are not closed under intersection. The intersection of two context-free languages is not necessarily a context-free language. In fact, the intersection of two CFLs may result in a language that is not context-free.

Is GCC a cross Complier
  • a)
    Yes
  • b)
    No
Correct answer is option 'A'. Can you explain this answer?

Divya Kaur answered
Explanation:
GCC, a free software collection of compilers, also can be used as cross compile. It supports many languages and platforms.

_________ was developed from the beginning as a cross compiler
  • a)
    Free Pascal
  • b)
    GCC
  • c)
    Pascal
  • d)
    None of the mentioned
Correct answer is option 'A'. Can you explain this answer?

Puja Bajaj answered
Explanation: Free Pascal was developed from the beginning as a cross compiler. The compiler executable (ppcXXX where XXX is target architecture) is capable of producing executables for all OS of the same architecture.

(a,b) what is b?
  • a)
    domain
  • b)
    Range
  • c)
    All of the mentioned
  • d)
    None of the mentioned
Correct answer is option 'B'. Can you explain this answer?

Shruti Tiwari answered
Explanation:

The given question is asking about the meaning of "b" in the context of the ordered pair (a, b).

In mathematics, an ordered pair is a pair of values written in a particular order. In this case, the ordered pair is (a, b), where "a" represents the first value and "b" represents the second value.

Domain and Range:

In mathematics, the terms "domain" and "range" are used to describe the set of possible values for the independent and dependent variables, respectively.

- The domain refers to the set of all possible values for the independent variable. In this case, "a" represents the independent variable, so the domain would refer to the set of all possible values for "a".

- The range, on the other hand, refers to the set of all possible values for the dependent variable. In this case, "b" represents the dependent variable, so the range would refer to the set of all possible values for "b".

Answer:

The correct answer is option 'B' - Range. In the context of the ordered pair (a, b), "b" represents the second value or the dependent variable. Therefore, the term "b" corresponds to the range.

Summary:

In summary, the term "b" in the ordered pair (a, b) represents the second value or the dependent variable, and it corresponds to the range in mathematics.

The production of the form no terminal → Λ is said to be null production.
  • a)
    False
  • b)
    true
Correct answer is option 'B'. Can you explain this answer?

Madhurima Iyer answered


Explanation:

Null Production:
- Null production is a production rule in a context-free grammar that produces the empty string (denoted by Λ or ε).
- In other words, a null production is a production rule that derives a non-terminal symbol into nothing, i.e., it produces no terminal or non-terminal symbols.

Production of the form no terminal → Λ:
- The production of the form "no terminal → Λ" is indeed a null production.
- This means that a non-terminal symbol in the grammar can be derived to an empty string directly using this production rule.
- It essentially allows for the elimination of a non-terminal symbol without any replacement.

True:
- Therefore, the statement that the production of the form no terminal → Λ is said to be a null production is true.
- Null productions play a crucial role in the design and analysis of context-free grammars, as they help in simplifying the grammar and defining various language constructs.

In conclusion, null productions are essential in the context of formal languages and grammars, and they enable the definition of various language structures and rules.

What will be output of the following c code? ( according to GCC compiler)
#include<stdio.h>
int main()
{
signed x;
unsigned y;
x = 10 +- 10u + 10u +- 10;
y = x;
if(x==y) printf("%d %d",x,y);
else if(x!=y) printf("%u %u",x,y);
return 0;
}
  • a)
    0 0
  • b)
    65536 -10
  • c)
    0 65536
  • d)
    Compilation error
Correct answer is option 'A'. Can you explain this answer?

Arka Shah answered
Explanation: Consider on the expression:
x = 10 +- 10u + 10u +- 10;
10: It is signed integer constant.
10u: It is unsigned integer constant.
X: It is signed integer variable.
As we know operators enjoy higher precedence than binary operators. So
x = 10 + (-10u) + 10u + (-10);
= 10 + -10 + 10 + (-10);
= 0
So, Corresponding signed value of unsigned 10u is +10.

 Which of the following is NOT the set of regular expression R = (ab + abb)* bbab
  • a)
    abababab
  • b)
    abbbab
  • c)
    ababbabbbab
  • d)
     ababbbbab 
Correct answer is option 'A'. Can you explain this answer?

Nishtha Gupta answered
Regular Expression R = (ab abb)* bbab

To determine which of the given options is not in the set of regular expression R, we need to understand the regular expression R and its language.

Regular Expression R:
- (ab abb)* : The regular expression (ab abb) means that the string can contain either "ab" or "abb". The * means that this can occur zero or more times.
- bbab: The string must end with "bbab".

Language of R:
- The language of R consists of strings that can be formed by concatenating zero or more occurrences of either "ab" or "abb", followed by "bbab".

Let's check each option to see if it is in the language of R:

a) abababab
- This string can be formed by concatenating "ab" four times.
- Ends with "ab", not "bbab".
- Therefore, option A is NOT in the language of R.

b) abbbab
- This string can be formed by concatenating "abb" once and "ab" once.
- Ends with "ab", not "bbab".
- Therefore, option B is NOT in the language of R.

c) ababbabbbab
- This string can be formed by concatenating "ab" once, "abb" once, and "ab" twice.
- Ends with "bbab".
- Therefore, option C is in the language of R.

d) ababbbbab
- This string can be formed by concatenating "ab" twice and "abb" once.
- Ends with "bbab".
- Therefore, option D is in the language of R.

Therefore, the correct answer is option A, abababab, as it is NOT in the set of regular expression R.

An FSM with
  • a)
    M can be transformed to Numeral relabeling its states
  • b)
    M can be transformed to N, merely relabeling its edges
  • c)
    Both of the mentioned
  • d)
    None of the mentioned
Correct answer is option 'C'. Can you explain this answer?

A finite-state machine (FSM) or finite-state automaton (FSA, plural: automata), finite automaton, or simply a state machine, is a mathematical model of computation. ... An FSM is defined by a list of its states, its initial state, and the conditions for each transition.

String generated byS->aS/bA,A->d/ccA
  • a)
    aabccd
  • b)
    adabcca
  • c)
    abcca
  • d)
    abababd
Correct answer is option 'A'. Can you explain this answer?

Srishti Yadav answered
Explanation: S->aS (substitute S->aS)
S->aaS (substitute S->bA)
S->aabA (substitute A->ccA)
S->aabccA (substitute A->d)
S->aabccd.

Chapter doubts & questions for Introduction to Compiler - Compiler Design 2025 is part of Computer Science Engineering (CSE) exam preparation. The chapters have been prepared according to the Computer Science Engineering (CSE) exam syllabus. The Chapter doubts & questions, notes, tests & MCQs are made for Computer Science Engineering (CSE) 2025 Exam. Find important definitions, questions, notes, meanings, examples, exercises, MCQs and online tests here.

Chapter doubts & questions of Introduction to Compiler - Compiler Design in English & Hindi are available as part of Computer Science Engineering (CSE) exam. Download more important topics, notes, lectures and mock test series for Computer Science Engineering (CSE) Exam by signing up for free.

Compiler Design

26 videos|83 docs|30 tests

Top Courses Computer Science Engineering (CSE)