Code generation: turns fully expanded and lowered Syntax forms into Nim NimNode AST via std/macros, the final step before the compiler macros in compiler.nim splice the result into the caller's module. Runs after lower.nim.
Procs
proc emitModule(forms: seq[Syntax]): NimNode {. ...raises: [CompilerError, Exception, KeyError], tags: [ReadDirEffect, RootEffect], forbids: [].}
- Emits a whole module's lowered top-level forms as a single Nim NimNode statement list, sharing one emit context (and therefore one hygienic-symbol table) across all of them.