/// <summary> /// Carries out code generation for a program /// </summary> /// <param name="program">The program to generate code for</param> public TargetCode GenerateCodeFor(ProgramNode program) { code = new TargetCode(CodeBase, Reporter); scopes = new ScopeSizeRecorder(Reporter); GenerateCodeForProgram(program); return(code); }