pyqres.dsl¶
Schema 校验¶
SchemaValidator¶
- class pyqres.dsl.schema.SchemaValidator[源代码]¶
基类:
objectValidates YAML composite operation definitions.
Checks: - Required fields present (name, impl) - Type consistency (register types, parameter types) - $name references point to declared qregs/params - impl operations reference known operations (primitives or composites) - controllers format is valid
- VALID_REGISTER_TYPES = {'Boolean', 'General', 'Rational', 'SignedInteger', 'UnsignedInteger'}¶
- VALID_PARAM_TYPES = {'array', 'bool', 'callable', 'float', 'int', 'object', 'op_instance', 'operation', 'qram', 'qram_ref', 'str', 'symbol'}¶
ValidationError¶
- exception pyqres.dsl.schema.ValidationError(path, message)[源代码]¶
基类:
objectA single validation error.
代码生成¶
CodeGenerator¶
- class pyqres.dsl.codegen.CodeGenerator[源代码]¶
基类:
objectGenerate Python Composite subclasses from YAML composite definitions.
Handles: - $name variable substitution - Controllers (all_ones, nonzero, bit, value) - Dagger modifiers - Temporary registers lifecycle - Computed parameters - traverse_override for special patterns - Loops (loop, loop_reverse) - Conditionals (if) - Comments
- STANDARD_IMPORTS = ['from ..core.operation import {base_class}', 'from ..core.registry import OperationRegistry', 'from ..core.utils import merge_controllers', 'import math']¶
GeneratedClass¶
- class pyqres.dsl.codegen.GeneratedClass(name, base_class, imports, class_code, dependencies)[源代码]¶
基类:
objectContainer for a generated Python class.
- __init__(name, base_class, imports, class_code, dependencies)¶
编译器¶
DSLCompiler¶
- class pyqres.dsl.compiler.DSLCompiler(library_paths=None)[源代码]¶
基类:
objectCompiles YAML composite definitions to Python source files.
- Usage:
compiler = DSLCompiler() result = compiler.compile_directory("schemas/composites/")
- With libraries:
compiler = DSLCompiler(library_paths=["pyqres/lib/arithmetic/"]) result = compiler.compile_file("my_algorithm.yml")
CompilationError¶
- pyqres.dsl.compiler.compile_yaml(yaml_path, output_dir=None)[源代码]¶
Convenience function to compile a YAML file.
- 返回类型:
完整性检查¶
CompletenessChecker¶
- class pyqres.dsl.checker.CompletenessChecker[源代码]¶
基类:
objectValidates completeness of composite operation definitions.
Checks that all referenced operations exist as either primitives (in OperationRegistry) or composites (defined in YAML).
- load_from_directory(schema_dir)[源代码]¶
Load all definitions from a directory of YAML files.
Skips subdirectories named 'demos/' (used for example schemas).
CompletenessReport¶
DependencyNode¶
- class pyqres.dsl.checker.DependencyNode(name, is_primitive, is_defined, dependencies=<factory>, dependents=<factory>, definition_source=None)[源代码]¶
基类:
objectNode in the operation dependency graph.
- __init__(name, is_primitive, is_defined, dependencies=<factory>, dependents=<factory>, definition_source=None)¶
- pyqres.dsl.checker.check_completeness(definitions)[源代码]¶
Convenience function to check completeness of definitions.
- 返回类型: