Consider the syntax directed definition shown below.
S→id:=EE→E1+E2E→id{gen(id.place=E.place;);}{t=newtemp();gen(t=E1.place+E2.place;);E.place=t;}{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