public static void Run(string file_name, ScriptBlock [] blocks) { CodeGenerator.Init(file_name); // // Emit first all the declarations (function and variables) // foreach (ScriptBlock script_block in blocks) { CodeGenerator.EmitDecls(script_block); } // // emit everything that's not a declaration // foreach (ScriptBlock script_block in blocks) { script_block.Emit(); } // // Create the types ('JScript N') // foreach (ScriptBlock script_block in blocks) { script_block.CreateType(); } // // Build the default 'JScript Main' class // TypeBuilder main_type_builder = module_builder.DefineType("JScript Main"); emit_jscript_main(main_type_builder); main_type_builder.CreateType(); CodeGenerator.Save(trim_extension(file_name) + ".exe"); }