bloqade.qasm3.parse.lowering.QASM3Lowering
classQASM3Lowering¶source
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
| Name | Type | Default | Description |
|---|---|---|---|
max_lines | int | 3 | |
hint_indent | int | 2 | |
hint_show_lineno | bool | True | |
stacktrace | bool | True |
Attributes
| Name | Type | Default | Description |
|---|---|---|---|
max_lines | int | field(default=3, kw_only=True) | |
hint_indent | int | field(default=2, kw_only=True) | |
hint_show_lineno | bool | field(default=True, kw_only=True) | |
stacktrace | bool | field(default=True, kw_only=True) |
methodrun¶source
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.RegionParameters
| Name | Type | Default | Description |
|---|---|---|---|
stmt | oq3_ast.QASMNode | required | |
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 |
Returns
ir.Region
methodget_frame¶source
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.FrameParameters
| Name | Type | Default | Description |
|---|---|---|---|
stmt | oq3_ast.QASMNode | required | |
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 |
Returns
lowering.Frame
methodvisit¶source
bloqade.qasm3.parse.lowering.QASM3Lowering.visit
Signature
def visit(state: lowering.State[oq3_ast.QASMNode], node: oq3_ast.QASMNode) -> lowering.LoweringABC.ResultParameters
| Name | Type | Description |
|---|---|---|
state | lowering.State[oq3_ast.QASMNode] | |
node | oq3_ast.QASMNode |
Returns
lowering.LoweringABC.Result
methodlower_global¶source
bloqade.qasm3.parse.lowering.QASM3Lowering.lower_global
Signature
def lower_global(state: lowering.State[oq3_ast.QASMNode], node: oq3_ast.QASMNode) -> lowering.LoweringABC.ResultParameters
| Name | Type | Description |
|---|---|---|
state | lowering.State[oq3_ast.QASMNode] | |
node | oq3_ast.QASMNode |
Returns
lowering.LoweringABC.Result
methodlower_literal¶source
bloqade.qasm3.parse.lowering.QASM3Lowering.lower_literal
Signature
def lower_literal(state: lowering.State[oq3_ast.QASMNode], value) -> ir.SSAValueParameters
| Name | Type | Description |
|---|---|---|
state | lowering.State[oq3_ast.QASMNode] | |
value | — |
Returns
ir.SSAValue
methodvisit_Program¶source
bloqade.qasm3.parse.lowering.QASM3Lowering.visit_Program
Signature
def visit_Program(state: lowering.State[oq3_ast.QASMNode], node: oq3_ast.Program)Parameters
| Name | Type | Description |
|---|---|---|
state | lowering.State[oq3_ast.QASMNode] | |
node | oq3_ast.Program |
methodvisit_QubitDeclaration¶source
bloqade.qasm3.parse.lowering.QASM3Lowering.visit_QubitDeclaration
Signature
def visit_QubitDeclaration(state: lowering.State[oq3_ast.QASMNode], node: oq3_ast.QubitDeclaration)Parameters
| Name | Type | Description |
|---|---|---|
state | lowering.State[oq3_ast.QASMNode] | |
node | oq3_ast.QubitDeclaration |
methodvisit_ClassicalDeclaration¶source
bloqade.qasm3.parse.lowering.QASM3Lowering.visit_ClassicalDeclaration
Signature
def visit_ClassicalDeclaration(state: lowering.State[oq3_ast.QASMNode], node: oq3_ast.ClassicalDeclaration)Parameters
| Name | Type | Description |
|---|---|---|
state | lowering.State[oq3_ast.QASMNode] | |
node | oq3_ast.ClassicalDeclaration |
methodvisit_QuantumGate¶source
bloqade.qasm3.parse.lowering.QASM3Lowering.visit_QuantumGate
Signature
def visit_QuantumGate(state: lowering.State[oq3_ast.QASMNode], node: oq3_ast.QuantumGate)Parameters
| Name | Type | Description |
|---|---|---|
state | lowering.State[oq3_ast.QASMNode] | |
node | oq3_ast.QuantumGate |
methodvisit_QuantumGateDefinition¶source
bloqade.qasm3.parse.lowering.QASM3Lowering.visit_QuantumGateDefinition
Signature
def visit_QuantumGateDefinition(state: lowering.State[oq3_ast.QASMNode], node: oq3_ast.QuantumGateDefinition)Parameters
| Name | Type | Description |
|---|---|---|
state | lowering.State[oq3_ast.QASMNode] | |
node | oq3_ast.QuantumGateDefinition |
methodvisit_QuantumMeasurementStatement¶source
bloqade.qasm3.parse.lowering.QASM3Lowering.visit_QuantumMeasurementStatement
Signature
def visit_QuantumMeasurementStatement(state: lowering.State[oq3_ast.QASMNode], node: oq3_ast.QuantumMeasurementStatement)Parameters
| Name | Type | Description |
|---|---|---|
state | lowering.State[oq3_ast.QASMNode] | |
node | oq3_ast.QuantumMeasurementStatement |
methodvisit_QuantumReset¶source
bloqade.qasm3.parse.lowering.QASM3Lowering.visit_QuantumReset
Signature
def visit_QuantumReset(state: lowering.State[oq3_ast.QASMNode], node: oq3_ast.QuantumReset)Parameters
| Name | Type | Description |
|---|---|---|
state | lowering.State[oq3_ast.QASMNode] | |
node | oq3_ast.QuantumReset |
methodvisit_QuantumBarrier¶source
bloqade.qasm3.parse.lowering.QASM3Lowering.visit_QuantumBarrier
Signature
def visit_QuantumBarrier(state: lowering.State[oq3_ast.QASMNode], node: oq3_ast.QuantumBarrier)Parameters
| Name | Type | Description |
|---|---|---|
state | lowering.State[oq3_ast.QASMNode] | |
node | oq3_ast.QuantumBarrier |
methodvisit_Include¶source
bloqade.qasm3.parse.lowering.QASM3Lowering.visit_Include
Signature
def visit_Include(state: lowering.State[oq3_ast.QASMNode], node: oq3_ast.Include)Parameters
| Name | Type | Description |
|---|---|---|
state | lowering.State[oq3_ast.QASMNode] | |
node | oq3_ast.Include |