srdatalog.ir.pipeline¶
Pure compile pipeline — Program → compiled artifacts, no disk I/O.
build_project (build.py) and srdatalog.viz both want the same
intermediate artifacts: HIR, MIR, per-rule runner code, schema defs,
DB alias. The difference is what they do NEXT — build_project
writes a .cpp tree to disk; viz renders in a webview.
Splitting the pipeline at the compile/write boundary lets both callers share the work. This module is that shared core.
Module Contents¶
Classes¶
Everything a downstream consumer (build_project, viz) needs from the compile pipeline, in memory. |
Functions¶
Run the full compile pipeline — HIR → MIR → all emitted strings. |
API¶
- class srdatalog.ir.pipeline.CompileResult[source]¶
Everything a downstream consumer (build_project, viz) needs from the compile pipeline, in memory.
- hir: srdatalog.ir.hir.types.HirProgram¶
None
- mir: srdatalog.ir.mir.types.Program¶
None
- srdatalog.ir.pipeline.compile_program(program: srdatalog.dsl.Program, project_name: str) srdatalog.ir.pipeline.CompileResult[source]¶
Run the full compile pipeline — HIR → MIR → all emitted strings.
Stops before any file I/O. The resulting
CompileResultis the point bothbuild_project(writes it to disk) and the viz module (renders it in a webview) branch from.