S→CS Snetlist: merge (C. nxtlisrt, S,. nextlist)) S→TS1 iS netlist: -merge(T. nxtlisrt, S netlist)) S→RS1 backpatch(S,. nextlist, R code) emit(, ",",Rcode); S netlist: R netlistS→C S1 { S.nextlist:=merge(C.nxtlisrt, S1 .nextlist) } S→T S1 { S.nextlist:=merge(T.nxtlisrt, S1 .nextlist) } S→R S1 { backpatch(S1 .nextlist,R.code); emit(j,-,-,R.code); S.nextlist:=R.nextlist }