Explain different phases of compiler in brief. [5]
S2
1.
Give an example of reduce-reduce conflict. Construct the SLR parsing table for the following grammar.
$E \rightarrow (L) \mid a$
$L \rightarrow L, E \mid E$
[10]
2.
Illustrate the concept of backpatching with an example. Convert the regular expression a(a + b)a# to DFA. [10]
3.
Compute the FIRST and FOLLOW of the non-terminals in the following grammar.
$S \rightarrow (L) \mid 1$
$L \rightarrow L;S \mid \varepsilon$
[5]
4.
Define core item. Compute the LR(1) item sets for the following grammar.
$S \rightarrow AA$
$A \rightarrow aA \mid b$
[5]
5.
What is a type expression? List the properties of LL(1) grammar. [5]
S3
1.
What types of information are stored in a symbol table? Discuss the activation record. [5]
S4
1.
What are the significances of intermediate code? Differentiate between DAG and Syntax tree. Represent the instruction A = B + C - D * E + G using quadruple and triple. [10]
2.
Write the code generation algorithm for the instruction a = b op c. [5]
3.
How do you represent recursion in an activation tree? Generate the three-address code for the following instruction: [5]
4.
What are the techniques for compiler optimization? Explain. [5]
5.
Describe the synthesized attribute and inherited attribute with an example. [5]