T3185
B.E DEGREE EXAMINATION, APRIL/MAY 2008
SIXTH semester
Regulation 2004
Cs1352 –PRINCIPLES OF COMPILER DESIGN
Part –a
1. Differentiate Compiler And Interpreter
2. Write short notes on buffer pair.
3. Construct a parse tree (a+b)*c for the grammar E->E+E/E*E/(E)/id.
4. Eliminate immediate left recursion for the following grammar E->E+T/T, T->T*F/F, F->(E)/id.
5. Write short notes on global data flow analysis.
6. Define back patching with an example.
7. Give syntax directed translation for the following statement call p1 (int a, int b).
8. How can you find the leaders in basic block.
9. Define code motion
10. Define basic block and flow graph.
Part –b
11. A) i. explain the phases of compiler, with the neat schematic.
ii. write short notes on compiler construction tools.
Or
b) i. explain grouping of phases.
ii. explain specification o f tokens.
12. A) find the SLR parsing table for the given grammar and parse the sentence (a+b)*c , E->E+E/E*E/(E)/id.
Or
b) find the predictive parser for the given grammar and parse the sentence (a+b)*c , E->E+T/T, T->T*F/F, F->(E)/id.
13. A)generate intermediate code for the following code segment along with the required syntax directed translation scheme.
i. If(a>b)
X=a+b
Else
X=a-b
Where a&x are of real and b of int type data
ii. Int a,b;
Float c;
A=10;
Switch(a)
{case 10:c=1;
Case20:c=2;}
Or
b) i. generate intermediate code for the following code segment along with required syntax directed translation scheme.
I=1; s=0;
While (i<=10)
S=s+a[i][i][i]
I=i+1
ii.write short note on back patching.
14. a) i. explain the various issues in the design of code generation.
ii.explain code generation phase with simple code generation algorithm.
or
b) i. generate DAG representation of the following code and list out the applications of DAG representation.
I=1;s=0;
While (i<=10)
S=s+a[i][i]
I=i+1
ii. write short notes on next use information with suitable example.
15). A) i. explain principle sources of optimization.
ii. write short notes on a. storage organization b. parameter passing
Or
b).i. optimize the following code using various optimization techniques.
I=1.s=0;
For(i=1;i<=3;i++)
For(j=1;j<=3;j++)
C[i][j]=c[i][j]+a[i][j]+b[i][j]
ii.write short notes on access to non-local names.
No comments:
Post a Comment