Resolving circularity in attribute grammars with applications to data flow analysisS. SagivO. Edelsteinet al.1989POPL 1989