- Back to Home »
- Assignments »
- CS606 Assignment no 4 Fall 2012 Full Solution
Posted by : Anonymous
Sunday, 3 February 2013
Consider the following grammar productions. Suppose you have
an attribute E.type which can be set to either INT, BOOL. Assume that
the type of an expression is set to INT if an error is detected and you have a
routine msg() similar to
printf() that can be used to print
error message.
E
→ CONST {E.type=??}
| ID
{E.type =getType(ID.name);}
| E1 +E2 {E.type=??}
| E1< E2
{E.type=??}
| E1= =E2
{E.type=??}
| (E1) {E.type=??}
You are required to add rules to the attribute grammar to calculate E.type for each grammar production.