IF lookahead= else THEN BEGIN match(else) q:=1p emI 0); backpatch(B. falselist, ip Slnetlist: -merge(Sl netlist, q) S2 netlist: =S g: =merge(s 1. netlist, S2 netlist RETURN( END ELSE RETURN(merge(sI netlist, B. falselist)) ENDIF lookahead=´else´ THEN BEGIN match(´else´); q:=ip; emit(j, ⎯ , ⎯ , 0); backpatch(B.falselist, ip); S1.nextlist:=merge(S1.nextlist, q); S2.nextlist:=S; q:=merge(S1.nextlist, S2.nextlist); RETURN(q) END ELSE RETURN(merge(S1.nextlist, B.falselist)) END;