I'm taking a compiler-design class where we have to implement our own compiler (using flex and bison).In dragon book by V.Aho et al. They have mentioned backpatching to backpatch forward references  for control structure and boolean expressions but this needs only one pass .I don't want to use backpatching for forward references .How to do this without using backpatching ?I am using LEX/YACC aka FLEX/BISON and C/C++ . 
How to generate intermediate code in more than 1 pass in compiler design?
compilers;language design