/* Compile the AST into a module */ void CodeGenContext::generateCode(CBlock& root) { root.prePass(*this); /* Run a pre-pass on the code */ root.codeGen(*this); /* Generate complete code - starting at no block (global space) */ if (isErrorFlagged()) { return; } // Finalise disassembly arrays if (gContext.opts.generateDisassembly) { GenerateDisassmTables(); } }