Consider the syntax directed definition shown below, S $\rightarrow$ id : = E {gen (id.place = E.place;);} E $\rightarrow$ E1 + E2 {t = newtemp( ); gen(t = E1.place + E2.place;); E.place = t;} E $\rightarrow$ id {E.place = id.place;}
Here, gen is a function that generates the output code, and newtemp is a function that returns the name of a new temporary variable on every call. Assume that ti's are the temporary variable names generated by newtemp. For the statement 'X : = Y + Z', the 3-address code sequence generated by this definition is
Reveal answer
Fill a bubble to check yourself