Finally figured out how to make two compiler passes along with the code generation