Professional Documents
Culture Documents
Workbook Workbook Workbook Workbook Workbook: Try Yourself Questions
Workbook Workbook Workbook Workbook Workbook: Try Yourself Questions
WORKBOOK
Detailed Explanations of
Try Yourself Questions
T1 : Solution
(d)
Lexical analyzer produces an error when an illegal character appears in the string pattern that makes
invalid token.
T2 : Solution
(b)
G3 and G4 are set of left recursive and set of right recursive grammars respectively. L(G3) L(G4). Given
any left recursive grammar can be converted to right recursive and vice-versa.
www.madeeasypublications.org Copyright
2 Parsing and Syntex
Directed Translation
T1 : Solution
(b)
T2 : Solution
(d)
Var id.[E]
Both will be in the same state of LR(0) parser and produces SR conflict in LR(0) .
Var id.
T3 : Solution
(d)
Recursive descent parser can not use left recursive grammar but it can use right recursive grammar.
Copyright www.madeeasypublications.org
4 Computer Science & IT Compiler Design
T4 : Solution
(a)
For string : IF TRUE THEN IF TRUE THEN ELSE END has two parse trees.
stmt
ifstmt
TRUE ifstmt
END
TRUE
stmt
ifstmt
TRUE
ifstmt
TRUE
The given grammar is ambiguous, hence it is not LL(1) and also not LR(1).
T5 : Solution
(d)
www.madeeasypublications.org Copyright
Workbook 5
T6 : Solution
(d)
Set 3 contain S as reduced item.
Follow (S) = { ), $}
In row 3, entry for column ) and $ will be rb.
E1 = rb, E2 = rb [ b:S ]
In set 5, on S it goes to set 6.
In row 5, entry for non-terminals S is state 6.
S
E3 = 6 [ (5) (6) ]
E1 = rb, E2 = rb and E3 = 6
T7 : Solution
(c)
T8 : Solution
(a)
(a) An unambiguous grammar can have different leftmost and rightmost derivation. However, an
unambiguous grammar has only one derivation tree. So option (a) is false.
(b) LL(1) is a top-down parser.
(c) LALR is more powerful than SLR.
(d) For any parser, grammar should be unambiguous.
T9 : Solution
(a)
Copyright www.madeeasypublications.org
3 Runtime Environment
T1 : Solution
(b)
Symbol table maintains: Frame pointer, Access link, Local variables, Return address, Return value, etc.
T2 : Solution
(d)
Main
A1
A2
A21
A1
FRAME ACCESS
POINTER LINKS
www.madeeasypublications.org Copyright
4 Intermediate Code Generation
and Code Optimization
T1 : Solution
(d)
Constant folding,
Strength reduction,
Copy propagation,
Loop unrolling,
Code motion can be applied on the given code.
T2 : Solution
(d)
x = x 0;
for (i = 1; i < 5; i + +)
{
x = x + 1;
y = 10;
}
for (i = 1; i < 5; i + +)
{
y = y 2;
}
Apply code optimizations: [Constant folding, Strength reduction, Copy propagation, Loop unrolling, and
Code motion.]
x = 4;
y = 160;
Option (d) is correct.
Copyright www.madeeasypublications.org
8 Computer Science & IT Compiler Design
T3 : Solution
(c)
Loop unrolling makes more number of statements.
Example:
for (i = 0; i < 10; i++)
{
x = x + 1;
}
for (i = 0; i < 5; i++)
{
x = x+1;
x = x+1;
}
T4 : Solution
(b)
x = 2 can be propagated [copy propagation]
x = 2;
y = 2; y=2 propagated
z = 2P+32
z = 2 P+3y;
constant folding
z = 2P+6
strength reduction
z = P<< 1 + 6
No deadcode is present in the given code, hence there is no possibility of deadcode elimination.
T5 : Solution
(b)
x = 2;
y = 2; x = 2 is propagated first
z = 2 P+3 2;
for(i=1; i<10; i++) y = 2 is propagated next
{z=z+1;}
www.madeeasypublications.org Copyright
Workbook 9
T6 : Solution
(c)
S1 : s = q + r
1 S2 : s = p + q
S3 : u = s * v
2 3
S4 : v = r + u S5 : q = s * u
4 S6 : q = v + r
(i) p is not live both at Block 2 and Block 3. There is a path from (S4 & S5) to S2, but S1 has an assignment
to p.
(ii) q is not live both at Block 2 and Block 3. There is a path from (S4 & S5) to S1, but S6 has an assignment
to q in between the path.
(iii) r is live both at Block 2 and Block 3. There is a path from (S4 & S5) to S6, S6 uses r and no assignment
to r in this path.
(iv) u is not live both at Block 2 and Block 3. There is a path from S4 to S5 and S5 to S4 where both S4 and
S5 uses u but S3 has an assignment to u in this path.
(v) Similarly s and v are not live both at Block 2 and Block 3
Only r is live both at basic Block 2 and basic Block 3.
Copyright www.madeeasypublications.org