The problem in generating three address codes in a single pass is that we may not know the labels that control must go to at the time jump statements are generated.
So to get around this problem a series of branching statements with the targets of the jumps temporarily left …