Skip to content

bloqade.qasm2.parse.lowering.QASM2

← Module overview

classQASM2source

bloqade.qasm2.parse.lowering.QASM2

Bases: lowering.LoweringABC[ast.Node]

Signature
class QASM2(*, 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.qasm2.parse.lowering.QASM2.run

Signature
def run(stmt: ast.Node, *, 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
stmtast.Noderequired
sourcestr | NoneNone
globalsdict[str, Any] | NoneNone
filestr | NoneNone
lineno_offsetint0
col_offsetint0
compactifyboolTrue

Returns

ir.Region

source

methodget_framesource

bloqade.qasm2.parse.lowering.QASM2.get_frame

Signature
def get_frame(stmt: ast.Node, 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
stmtast.Noderequired
sourcestr | NoneNone
globalsdict[str, Any] | NoneNone
filestr | NoneNone
lineno_offsetint0
col_offsetint0
compactifyboolTrue

Returns

lowering.Frame

source

methodvisitsource

bloqade.qasm2.parse.lowering.QASM2.visit

Signature
def visit(state: lowering.State[ast.Node], node: ast.Node) -> lowering.Result

Parameters

NameTypeDescription
statelowering.State[ast.Node]
nodeast.Node

Returns

lowering.Result

source

methodgeneric_visitsource

bloqade.qasm2.parse.lowering.QASM2.generic_visit

Signature
def generic_visit(state: lowering.State[ast.Node], node: ast.Node) -> lowering.Result

Parameters

NameTypeDescription
statelowering.State[ast.Node]
nodeast.Node

Returns

lowering.Result

source

methodlower_literalsource

bloqade.qasm2.parse.lowering.QASM2.lower_literal

def lower_literal(state: lowering.State[ast.Node], value) -> ir.SSAValue

Parameters

NameTypeDescription
statelowering.State[ast.Node]
value—

Returns

ir.SSAValue

source

methodlower_globalsource

bloqade.qasm2.parse.lowering.QASM2.lower_global

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

Parameters

NameTypeDescription
statelowering.State[ast.Node]
nodeast.Node

Returns

lowering.LoweringABC.Result

source

methodvisit_MainProgramsource

bloqade.qasm2.parse.lowering.QASM2.visit_MainProgram

Signature
def visit_MainProgram(state: lowering.State[ast.Node], node: ast.MainProgram)

Parameters

NameTypeDescription
statelowering.State[ast.Node]
nodeast.MainProgram
source

methodvisit_QRegsource

bloqade.qasm2.parse.lowering.QASM2.visit_QReg

def visit_QReg(state: lowering.State[ast.Node], node: ast.QReg)

Parameters

NameTypeDescription
statelowering.State[ast.Node]
nodeast.QReg
source

methodvisit_CRegsource

bloqade.qasm2.parse.lowering.QASM2.visit_CReg

def visit_CReg(state: lowering.State[ast.Node], node: ast.CReg)

Parameters

NameTypeDescription
statelowering.State[ast.Node]
nodeast.CReg
source

methodvisit_Barriersource

bloqade.qasm2.parse.lowering.QASM2.visit_Barrier

def visit_Barrier(state: lowering.State[ast.Node], node: ast.Barrier)

Parameters

NameTypeDescription
statelowering.State[ast.Node]
nodeast.Barrier
source

methodvisit_CXGatesource

bloqade.qasm2.parse.lowering.QASM2.visit_CXGate

def visit_CXGate(state: lowering.State[ast.Node], node: ast.CXGate)

Parameters

NameTypeDescription
statelowering.State[ast.Node]
nodeast.CXGate
source

methodvisit_Measuresource

bloqade.qasm2.parse.lowering.QASM2.visit_Measure

def visit_Measure(state: lowering.State[ast.Node], node: ast.Measure)

Parameters

NameTypeDescription
statelowering.State[ast.Node]
nodeast.Measure
source

methodvisit_UGatesource

bloqade.qasm2.parse.lowering.QASM2.visit_UGate

def visit_UGate(state: lowering.State[ast.Node], node: ast.UGate)

Parameters

NameTypeDescription
statelowering.State[ast.Node]
nodeast.UGate
source

methodvisit_Resetsource

bloqade.qasm2.parse.lowering.QASM2.visit_Reset

def visit_Reset(state: lowering.State[ast.Node], node: ast.Reset)

Parameters

NameTypeDescription
statelowering.State[ast.Node]
nodeast.Reset
source

methodvisit_IfStmtsource

bloqade.qasm2.parse.lowering.QASM2.visit_IfStmt

def visit_IfStmt(state: lowering.State[ast.Node], node: ast.IfStmt)

Parameters

NameTypeDescription
statelowering.State[ast.Node]
nodeast.IfStmt
source

methodbranch_next_if_not_terminatedsource

bloqade.qasm2.parse.lowering.QASM2.branch_next_if_not_terminated

def branch_next_if_not_terminated(frame: lowering.Frame)

Branch to the next block if the current block is not terminated.

This must be used after exhausting the current frame and before popping the frame.

Parameters

NameTypeDescription
framelowering.Frame
source

methodvisit_BinOpsource

bloqade.qasm2.parse.lowering.QASM2.visit_BinOp

def visit_BinOp(state: lowering.State[ast.Node], node: ast.BinOp)

Parameters

NameTypeDescription
statelowering.State[ast.Node]
nodeast.BinOp
source

methodvisit_UnaryOpsource

bloqade.qasm2.parse.lowering.QASM2.visit_UnaryOp

def visit_UnaryOp(state: lowering.State[ast.Node], node: ast.UnaryOp)

Parameters

NameTypeDescription
statelowering.State[ast.Node]
nodeast.UnaryOp
source

methodvisit_Bitsource

bloqade.qasm2.parse.lowering.QASM2.visit_Bit

def visit_Bit(state: lowering.State[ast.Node], node: ast.Bit)

Parameters

NameTypeDescription
statelowering.State[ast.Node]
nodeast.Bit
source

methodvisit_Callsource

bloqade.qasm2.parse.lowering.QASM2.visit_Call

def visit_Call(state: lowering.State[ast.Node], node: ast.Call)

Parameters

NameTypeDescription
statelowering.State[ast.Node]
nodeast.Call
source

methodvisit_Namesource

bloqade.qasm2.parse.lowering.QASM2.visit_Name

def visit_Name(state: lowering.State[ast.Node], node: ast.Name)

Parameters

NameTypeDescription
statelowering.State[ast.Node]
nodeast.Name
source

methodvisit_ParaCZGatesource

bloqade.qasm2.parse.lowering.QASM2.visit_ParaCZGate

Signature
def visit_ParaCZGate(state: lowering.State[ast.Node], node: ast.ParaCZGate)

Parameters

NameTypeDescription
statelowering.State[ast.Node]
nodeast.ParaCZGate
source

methodvisit_ParaRZGatesource

bloqade.qasm2.parse.lowering.QASM2.visit_ParaRZGate

Signature
def visit_ParaRZGate(state: lowering.State[ast.Node], node: ast.ParaRZGate)

Parameters

NameTypeDescription
statelowering.State[ast.Node]
nodeast.ParaRZGate
source

methodvisit_ParaU3Gatesource

bloqade.qasm2.parse.lowering.QASM2.visit_ParaU3Gate

Signature
def visit_ParaU3Gate(state: lowering.State[ast.Node], node: ast.ParaU3Gate)

Parameters

NameTypeDescription
statelowering.State[ast.Node]
nodeast.ParaU3Gate
source

methodvisit_GlobUGatesource

bloqade.qasm2.parse.lowering.QASM2.visit_GlobUGate

Signature
def visit_GlobUGate(state: lowering.State[ast.Node], node: ast.GlobUGate)

Parameters

NameTypeDescription
statelowering.State[ast.Node]
nodeast.GlobUGate
source

methodvisit_NoisePAULI1source

bloqade.qasm2.parse.lowering.QASM2.visit_NoisePAULI1

Signature
def visit_NoisePAULI1(state: lowering.State[ast.Node], node: ast.NoisePAULI1)

Parameters

NameTypeDescription
statelowering.State[ast.Node]
nodeast.NoisePAULI1
source

methodvisit_Numbersource

bloqade.qasm2.parse.lowering.QASM2.visit_Number

def visit_Number(state: lowering.State[ast.Node], node: ast.Number)

Parameters

NameTypeDescription
statelowering.State[ast.Node]
nodeast.Number
source

methodvisit_Pisource

bloqade.qasm2.parse.lowering.QASM2.visit_Pi

def visit_Pi(state: lowering.State[ast.Node], node: ast.Pi)

Parameters

NameTypeDescription
statelowering.State[ast.Node]
nodeast.Pi
source

methodvisit_Includesource

bloqade.qasm2.parse.lowering.QASM2.visit_Include

def visit_Include(state: lowering.State[ast.Node], node: ast.Include)

Parameters

NameTypeDescription
statelowering.State[ast.Node]
nodeast.Include
source

methodvisit_Gatesource

bloqade.qasm2.parse.lowering.QASM2.visit_Gate

def visit_Gate(state: lowering.State[ast.Node], node: ast.Gate)

Parameters

NameTypeDescription
statelowering.State[ast.Node]
nodeast.Gate
source

methodvisit_Instructionsource

bloqade.qasm2.parse.lowering.QASM2.visit_Instruction

Signature
def visit_Instruction(state: lowering.State[ast.Node], node: ast.Instruction)

Parameters

NameTypeDescription
statelowering.State[ast.Node]
nodeast.Instruction
source

methodvisit_Instruction_idsource

bloqade.qasm2.parse.lowering.QASM2.visit_Instruction_id

def visit_Instruction_id(params, qargs)

Parameters

NameTypeDescription
params—
qargs—
source

methodvisit_Instruction_xsource

bloqade.qasm2.parse.lowering.QASM2.visit_Instruction_x

def visit_Instruction_x(params, qargs)

Parameters

NameTypeDescription
params—
qargs—
source

methodvisit_Instruction_ysource

bloqade.qasm2.parse.lowering.QASM2.visit_Instruction_y

def visit_Instruction_y(params, qargs)

Parameters

NameTypeDescription
params—
qargs—
source

methodvisit_Instruction_zsource

bloqade.qasm2.parse.lowering.QASM2.visit_Instruction_z

def visit_Instruction_z(params, qargs)

Parameters

NameTypeDescription
params—
qargs—
source

methodvisit_Instruction_hsource

bloqade.qasm2.parse.lowering.QASM2.visit_Instruction_h

def visit_Instruction_h(params, qargs)

Parameters

NameTypeDescription
params—
qargs—
source

methodvisit_Instruction_ssource

bloqade.qasm2.parse.lowering.QASM2.visit_Instruction_s

def visit_Instruction_s(params, qargs)

Parameters

NameTypeDescription
params—
qargs—
source

methodvisit_Instruction_sdgsource

bloqade.qasm2.parse.lowering.QASM2.visit_Instruction_sdg

def visit_Instruction_sdg(params, qargs)

Parameters

NameTypeDescription
params—
qargs—
source

methodvisit_Instruction_sxsource

bloqade.qasm2.parse.lowering.QASM2.visit_Instruction_sx

def visit_Instruction_sx(params, qargs)

Parameters

NameTypeDescription
params—
qargs—
source

methodvisit_Instruction_sxdgsource

bloqade.qasm2.parse.lowering.QASM2.visit_Instruction_sxdg

def visit_Instruction_sxdg(params, qargs)

Parameters

NameTypeDescription
params—
qargs—
source

methodvisit_Instruction_tsource

bloqade.qasm2.parse.lowering.QASM2.visit_Instruction_t

def visit_Instruction_t(params, qargs)

Parameters

NameTypeDescription
params—
qargs—
source

methodvisit_Instruction_tdgsource

bloqade.qasm2.parse.lowering.QASM2.visit_Instruction_tdg

def visit_Instruction_tdg(params, qargs)

Parameters

NameTypeDescription
params—
qargs—
source

methodvisit_Instruction_rxsource

bloqade.qasm2.parse.lowering.QASM2.visit_Instruction_rx

def visit_Instruction_rx(params, qargs)

Parameters

NameTypeDescription
params—
qargs—
source

methodvisit_Instruction_rysource

bloqade.qasm2.parse.lowering.QASM2.visit_Instruction_ry

def visit_Instruction_ry(params, qargs)

Parameters

NameTypeDescription
params—
qargs—
source

methodvisit_Instruction_rzsource

bloqade.qasm2.parse.lowering.QASM2.visit_Instruction_rz

def visit_Instruction_rz(params, qargs)

Parameters

NameTypeDescription
params—
qargs—
source

methodvisit_Instruction_psource

bloqade.qasm2.parse.lowering.QASM2.visit_Instruction_p

def visit_Instruction_p(params, qargs)

Parameters

NameTypeDescription
params—
qargs—
source

methodvisit_Instruction_usource

bloqade.qasm2.parse.lowering.QASM2.visit_Instruction_u

def visit_Instruction_u(params, qargs)

Parameters

NameTypeDescription
params—
qargs—
source

methodvisit_Instruction_u1source

bloqade.qasm2.parse.lowering.QASM2.visit_Instruction_u1

def visit_Instruction_u1(params, qargs)

Parameters

NameTypeDescription
params—
qargs—
source

methodvisit_Instruction_u2source

bloqade.qasm2.parse.lowering.QASM2.visit_Instruction_u2

def visit_Instruction_u2(params, qargs)

Parameters

NameTypeDescription
params—
qargs—
source

methodvisit_Instruction_u3source

bloqade.qasm2.parse.lowering.QASM2.visit_Instruction_u3

def visit_Instruction_u3(params, qargs)

Parameters

NameTypeDescription
params—
qargs—
source

methodvisit_Instruction_CXsource

bloqade.qasm2.parse.lowering.QASM2.visit_Instruction_CX

def visit_Instruction_CX(params, qargs)

Parameters

NameTypeDescription
params—
qargs—
source

methodvisit_Instruction_cxsource

bloqade.qasm2.parse.lowering.QASM2.visit_Instruction_cx

def visit_Instruction_cx(params, qargs)

Parameters

NameTypeDescription
params—
qargs—
source

methodvisit_Instruction_cysource

bloqade.qasm2.parse.lowering.QASM2.visit_Instruction_cy

def visit_Instruction_cy(params, qargs)

Parameters

NameTypeDescription
params—
qargs—
source

methodvisit_Instruction_czsource

bloqade.qasm2.parse.lowering.QASM2.visit_Instruction_cz

def visit_Instruction_cz(params, qargs)

Parameters

NameTypeDescription
params—
qargs—
source

methodvisit_Instruction_chsource

bloqade.qasm2.parse.lowering.QASM2.visit_Instruction_ch

def visit_Instruction_ch(params, qargs)

Parameters

NameTypeDescription
params—
qargs—
source

methodvisit_Instruction_crxsource

bloqade.qasm2.parse.lowering.QASM2.visit_Instruction_crx

def visit_Instruction_crx(params, qargs)

Parameters

NameTypeDescription
params—
qargs—
source

methodvisit_Instruction_crysource

bloqade.qasm2.parse.lowering.QASM2.visit_Instruction_cry

def visit_Instruction_cry(params, qargs)

Parameters

NameTypeDescription
params—
qargs—
source

methodvisit_Instruction_crzsource

bloqade.qasm2.parse.lowering.QASM2.visit_Instruction_crz

def visit_Instruction_crz(params, qargs)

Parameters

NameTypeDescription
params—
qargs—
source

methodvisit_Instruction_ccxsource

bloqade.qasm2.parse.lowering.QASM2.visit_Instruction_ccx

def visit_Instruction_ccx(params, qargs)

Parameters

NameTypeDescription
params—
qargs—
source

methodvisit_Instruction_csxsource

bloqade.qasm2.parse.lowering.QASM2.visit_Instruction_csx

def visit_Instruction_csx(params, qargs)

Parameters

NameTypeDescription
params—
qargs—
source

methodvisit_Instruction_cswapsource

bloqade.qasm2.parse.lowering.QASM2.visit_Instruction_cswap

def visit_Instruction_cswap(params, qargs)

Parameters

NameTypeDescription
params—
qargs—
source

methodvisit_Instruction_cpsource

bloqade.qasm2.parse.lowering.QASM2.visit_Instruction_cp

def visit_Instruction_cp(params, qargs)

Parameters

NameTypeDescription
params—
qargs—
source

methodvisit_Instruction_cu1source

bloqade.qasm2.parse.lowering.QASM2.visit_Instruction_cu1

def visit_Instruction_cu1(params, qargs)

Parameters

NameTypeDescription
params—
qargs—
source

methodvisit_Instruction_cu3source

bloqade.qasm2.parse.lowering.QASM2.visit_Instruction_cu3

def visit_Instruction_cu3(params, qargs)

Parameters

NameTypeDescription
params—
qargs—
source

methodvisit_Instruction_cusource

bloqade.qasm2.parse.lowering.QASM2.visit_Instruction_cu

def visit_Instruction_cu(params, qargs)

Parameters

NameTypeDescription
params—
qargs—
source

methodvisit_Instruction_rxxsource

bloqade.qasm2.parse.lowering.QASM2.visit_Instruction_rxx

def visit_Instruction_rxx(params, qargs)

Parameters

NameTypeDescription
params—
qargs—
source

methodvisit_Instruction_rzzsource

bloqade.qasm2.parse.lowering.QASM2.visit_Instruction_rzz

def visit_Instruction_rzz(params, qargs)

Parameters

NameTypeDescription
params—
qargs—
source

methodvisit_Instruction_swapsource

bloqade.qasm2.parse.lowering.QASM2.visit_Instruction_swap

def visit_Instruction_swap(params, qargs)

Parameters

NameTypeDescription
params—
qargs—
source