Chapter 8: Intermediate Code Generation

E id 1 relop id 2

E.truelist = makelist(nextquad)

E.falselist = makelist(nextquad+ 1)

emit(if id 1 relop id 2 goto --- )

emit(goto ---)

E true

E.truelist = makelist(nextquad)

emit(goto ---)

E false

E.falselist = makelist(nextquad)

emit(goto ---)

M ε

M.quad = nextquad