srdatalog.ir.hir.provenance

Provenance tracking for rule/clause rewriting passes.

Mirrors src/srdatalog/provenance.nim. The HIR JSON emitter writes a "provenance": {...} sub-object only when the kind is pkCompilerGen, so user-written rules and clauses keep the default UserProvenance sentinel and emit no extra JSON keys.

Module Contents

Classes

Functions

compiler_gen

Construct a Provenance for a compiler-generated rule or clause.

Data

API

class srdatalog.ir.hir.provenance.Provenance[source]
derived_from: str = <Multiline-String>
kind: srdatalog.ir.hir.provenance.ProvenanceKind

None

parent_rule: str = <Multiline-String>
transform_pass: str = <Multiline-String>
class srdatalog.ir.hir.provenance.ProvenanceKind(*args, **kwds)[source]

Bases: enum.Enum

COMPILER_GEN

‘pkCompilerGen’

DERIVED

‘pkDerived’

USER

‘pkUser’

srdatalog.ir.hir.provenance.USER_PROVENANCE: srdatalog.ir.hir.provenance.Provenance

‘Provenance(…)’

srdatalog.ir.hir.provenance.compiler_gen(parent_rule: str, derived_from: str, transform_pass: str) srdatalog.ir.hir.provenance.Provenance[source]

Construct a Provenance for a compiler-generated rule or clause.