compiler/mir/mirbridge

  Source   Edit

A temporary module that implements convenience routines for the PNode AST to CgNode translation.

Procs

proc canonicalize(graph: ModuleGraph; idgen: IdGenerator; env: var MirEnv;
                  owner: PSym; body: PNode; config: TranslationConfig): Body {.
    ...raises: [Exception, KeyError, ValueError, ERecoverableError],
    tags: [RootEffect, ReadDirEffect].}
Legacy routine. Translates the body body of the procedure owner to MIR code, and the MIR code to CgNode IR.   Source   Edit
proc echoInput(config: ConfigRef; owner: PSym; body: PNode) {.
    ...raises: [Exception, KeyError, ValueError], tags: [RootEffect, ReadDirEffect].}
If requested via the define, renders the input AST body and writes the result out through config.writeLine.   Source   Edit
proc echoMir(config: ConfigRef; owner: PSym; body: MirBody; env: MirEnv) {.
    ...raises: [Exception, KeyError, ValueError], tags: [RootEffect].}
If requested via the define, renders the body and writes the result out through config.writeln.   Source   Edit
proc echoOutput(config: ConfigRef; owner: PSym; body: Body) {.
    ...raises: [Exception, KeyError, ValueError], tags: [RootEffect].}
If requested via the define, renders the output IR body and writes the result out through config.writeLine.   Source   Edit
proc echoOutput(config: ConfigRef; owner: PSym; body: MirBody; env: MirEnv) {.
    ...raises: [Exception, KeyError, ValueError], tags: [RootEffect].}
If enabled, renders the output IR body and outputs the result to config.writeLine.   Source   Edit