Tribhuvan University
Institute of Science and Technology
2081
Bachelor Level / sixth-semester / Science
Computer Science and Information Technology( CSC365 )
Compiler Design and Construction
Full Marks: 60 + 20 + 20
Pass Marks: 24 + 8 + 8
Time: 3 Hours
Candidates are required to give their answers in their own words as far as practicable.
The figures in the margin indicate full marks.
SECTION A
Attempt any TWO questions.
Give an example of reduce-reduce conflict. Construct the SLR parsing table for the following grammar.
E→ (L) | a
L → L, E | E
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.
Illustrate the concept of backpatching with an example. Convert the regular expression a(a + b)a# to DFA.
SECTION B
Attempt any TWO questions.
Explain different phases of compiler in brief.
What types of information are stored in a symbol table? Discuss the activation record.
Compute the FIRST and FOLLOW of the non-terminals in the following grammar:
S → (L) ∣ 1
L → LS ∣∗S
Write the code generation algorithm for the instruction a = b op c.
Define core item. Compute the LR(1) item sets for the following grammar:
S → AA
A → aA ∣ b
How do you represent recursion in an activation tree? Generate the three-address code for the following instruction:
What are the techniques for compiler optimization? Explain.
Describe the synthesized attribute and inherited attribute with an example.
What is a type expression? List the properties of LL(1) grammar.