✅ The verified answer to this question is available below. Our community-reviewed solutions help you understand the material better.
Consider the following SDD:
E → E1 * E2 { E.val = E1.val * E2.val }E → id { E.val = len(id.lexeme); E.len = E.val }E → E1 + E2 { E.val = E1.len + E2.val; E.len = E.val }
For input:
a + bb * c
(len("a")=1, len("bb")=2, len("c")=1)
What will be the final value of E.val if evaluated with a correct dependency graph order?