Iterative Refinement of Project-Level Code Context for Precise Code Generation with Compiler Feedback