Compiler¶
Compilation from DSL AST to executable quivers.
compiler
¶
quivers.dsl.compiler: AST -> Program compiler.
Re-exports the public surface from the package's submodules.
Compiler
¶
Compiler(module: Module)
Bases: _DeclarationsMixin, _ProgramsMixin, _StructuralMixin, _DeductionsMixin, _ResolutionMixin, _ExpressionsMixin
Compile a quivers DSL AST into a Program.
The compiler maintains three environments:
- objects: name -> SetObject (discrete finite sets)
- spaces: name -> ContinuousSpace
- morphisms: name -> Morphism or ContinuousMorphism (any morphism-like)
It processes statements in order and compiles the output expression into a Program wrapping the morphism DAG.
| PARAMETER | DESCRIPTION |
|---|---|
module
|
The parsed AST.
TYPE:
|
Source code in src/quivers/dsl/compiler/core.py
70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 | |
losses
property
¶
losses: dict
Declared loss heads (loss NAME : ... [on=...]).
Keyed by entry name; values are the registered :class:LossEntry
records. Empty when no loss decl appears in the module.
bundles
property
¶
bundles: dict[str, tuple[str, ...]]
Declared bundle aliases (bundle NAME = R1 | R2 | ...).
contractions
property
¶
contractions: dict
Declared tensor-network contractions
(contraction NAME : ... [wiring=...]).
transformations
property
¶
transformations: dict
User-declared transformation constructors / singletons.
compile
¶
compile() -> Program
Compile the module into a trainable Program.
| RETURNS | DESCRIPTION |
|---|---|
Program
|
The compiled nn.Module wrapping the morphism DAG. |
| RAISES | DESCRIPTION |
|---|---|
CompileError
|
On semantic errors (undefined names, type mismatches, etc.). |
Source code in src/quivers/dsl/compiler/core.py
189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 | |
compile_env
¶
compile_env() -> dict
Compile all statements and return the full environment.
Useful for inspection without requiring an output declaration.
| RETURNS | DESCRIPTION |
|---|---|
dict
|
Combined environment of every declared atom: the active algebra, objects, spaces, morphisms, rules, programs (parametric templates), deductions, signatures, encoders, decoders, losses, bundles, contractions, transformations. |
Source code in src/quivers/dsl/compiler/core.py
247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 | |
CompileError
¶
CompileError(message: str, line: int = 0, col: int = 0)
Bases: Exception
Raised when the compiler encounters a semantic error.
| PARAMETER | DESCRIPTION |
|---|---|
message
|
Error description.
TYPE:
|
line
|
Source line number (0 if unknown).
TYPE:
|
col
|
Source column number (0 if unknown).
TYPE:
|
Source code in src/quivers/dsl/compiler/_prelude.py
576 577 578 579 580 | |