Skip to content

bloqade.qasm3.parse.lowering.QASM3Lowering

← Module overview

classQASM3Loweringsource

bloqade.qasm3.parse.lowering.QASM3Lowering

Bases: lowering.LoweringABC[oq3_ast.QASMNode]

Lowers openqasm3 AST nodes into QASM3 dialect IR.

Signature
class QASM3Lowering(*, max_lines: int = 3, hint_indent: int = 2, hint_show_lineno: bool = True, stacktrace: bool = True)

Parameters

NameTypeDefaultDescription
max_linesint3
hint_indentint2
hint_show_linenoboolTrue
stacktraceboolTrue

Attributes

NameTypeDefaultDescription
max_linesintfield(default=3, kw_only=True)
hint_indentintfield(default=2, kw_only=True)
hint_show_linenoboolfield(default=True, kw_only=True)
stacktraceboolfield(default=True, kw_only=True)

methodrunsource

bloqade.qasm3.parse.lowering.QASM3Lowering.run

Signature
def run(stmt: oq3_ast.QASMNode, *, source: str | None = None, globals: dict[str, Any] | None = None, file: str | None = None, lineno_offset: int = 0, col_offset: int = 0, compactify: bool = True) -> ir.Region

Parameters

NameTypeDefaultDescription
stmtoq3_ast.QASMNoderequired
sourcestr | NoneNone
globalsdict[str, Any] | NoneNone
filestr | NoneNone
lineno_offsetint0
col_offsetint0
compactifyboolTrue

Returns

ir.Region

source

methodget_framesource

bloqade.qasm3.parse.lowering.QASM3Lowering.get_frame

Signature
def get_frame(stmt: oq3_ast.QASMNode, source: str | None = None, globals: dict[str, Any] | None = None, file: str | None = None, lineno_offset: int = 0, col_offset: int = 0, compactify: bool = True) -> lowering.Frame

Parameters

NameTypeDefaultDescription
stmtoq3_ast.QASMNoderequired
sourcestr | NoneNone
globalsdict[str, Any] | NoneNone
filestr | NoneNone
lineno_offsetint0
col_offsetint0
compactifyboolTrue

Returns

lowering.Frame

source

methodvisitsource

bloqade.qasm3.parse.lowering.QASM3Lowering.visit

Signature
def visit(state: lowering.State[oq3_ast.QASMNode], node: oq3_ast.QASMNode) -> lowering.LoweringABC.Result

Parameters

NameTypeDescription
statelowering.State[oq3_ast.QASMNode]
nodeoq3_ast.QASMNode

Returns

lowering.LoweringABC.Result

source

methodlower_globalsource

bloqade.qasm3.parse.lowering.QASM3Lowering.lower_global

Signature
def lower_global(state: lowering.State[oq3_ast.QASMNode], node: oq3_ast.QASMNode) -> lowering.LoweringABC.Result

Parameters

NameTypeDescription
statelowering.State[oq3_ast.QASMNode]
nodeoq3_ast.QASMNode

Returns

lowering.LoweringABC.Result

source

methodlower_literalsource

bloqade.qasm3.parse.lowering.QASM3Lowering.lower_literal

Signature
def lower_literal(state: lowering.State[oq3_ast.QASMNode], value) -> ir.SSAValue

Parameters

NameTypeDescription
statelowering.State[oq3_ast.QASMNode]
value—

Returns

ir.SSAValue

source

methodvisit_Programsource

bloqade.qasm3.parse.lowering.QASM3Lowering.visit_Program

Signature
def visit_Program(state: lowering.State[oq3_ast.QASMNode], node: oq3_ast.Program)

Parameters

NameTypeDescription
statelowering.State[oq3_ast.QASMNode]
nodeoq3_ast.Program
source

methodvisit_QubitDeclarationsource

bloqade.qasm3.parse.lowering.QASM3Lowering.visit_QubitDeclaration

Signature
def visit_QubitDeclaration(state: lowering.State[oq3_ast.QASMNode], node: oq3_ast.QubitDeclaration)

Parameters

NameTypeDescription
statelowering.State[oq3_ast.QASMNode]
nodeoq3_ast.QubitDeclaration
source

methodvisit_ClassicalDeclarationsource

bloqade.qasm3.parse.lowering.QASM3Lowering.visit_ClassicalDeclaration

Signature
def visit_ClassicalDeclaration(state: lowering.State[oq3_ast.QASMNode], node: oq3_ast.ClassicalDeclaration)

Parameters

NameTypeDescription
statelowering.State[oq3_ast.QASMNode]
nodeoq3_ast.ClassicalDeclaration
source

methodvisit_QuantumGatesource

bloqade.qasm3.parse.lowering.QASM3Lowering.visit_QuantumGate

Signature
def visit_QuantumGate(state: lowering.State[oq3_ast.QASMNode], node: oq3_ast.QuantumGate)

Parameters

NameTypeDescription
statelowering.State[oq3_ast.QASMNode]
nodeoq3_ast.QuantumGate
source

methodvisit_QuantumGateDefinitionsource

bloqade.qasm3.parse.lowering.QASM3Lowering.visit_QuantumGateDefinition

Signature
def visit_QuantumGateDefinition(state: lowering.State[oq3_ast.QASMNode], node: oq3_ast.QuantumGateDefinition)

Parameters

NameTypeDescription
statelowering.State[oq3_ast.QASMNode]
nodeoq3_ast.QuantumGateDefinition
source

methodvisit_QuantumMeasurementStatementsource

bloqade.qasm3.parse.lowering.QASM3Lowering.visit_QuantumMeasurementStatement

Signature
def visit_QuantumMeasurementStatement(state: lowering.State[oq3_ast.QASMNode], node: oq3_ast.QuantumMeasurementStatement)

Parameters

NameTypeDescription
statelowering.State[oq3_ast.QASMNode]
nodeoq3_ast.QuantumMeasurementStatement
source

methodvisit_QuantumResetsource

bloqade.qasm3.parse.lowering.QASM3Lowering.visit_QuantumReset

Signature
def visit_QuantumReset(state: lowering.State[oq3_ast.QASMNode], node: oq3_ast.QuantumReset)

Parameters

NameTypeDescription
statelowering.State[oq3_ast.QASMNode]
nodeoq3_ast.QuantumReset
source

methodvisit_QuantumBarriersource

bloqade.qasm3.parse.lowering.QASM3Lowering.visit_QuantumBarrier

Signature
def visit_QuantumBarrier(state: lowering.State[oq3_ast.QASMNode], node: oq3_ast.QuantumBarrier)

Parameters

NameTypeDescription
statelowering.State[oq3_ast.QASMNode]
nodeoq3_ast.QuantumBarrier
source

methodvisit_Includesource

bloqade.qasm3.parse.lowering.QASM3Lowering.visit_Include

Signature
def visit_Include(state: lowering.State[oq3_ast.QASMNode], node: oq3_ast.Include)

Parameters

NameTypeDescription
statelowering.State[oq3_ast.QASMNode]
nodeoq3_ast.Include
source