qat.frontend.parsers.qasm.qasm2 module
- class CloudQasmParser
Bases:
RestrictedQasm2Parser
QASM parser used in our QCaaS system.
- class Qasm2Parser(order_result_vars=False, raw_results=False)
Bases:
AbstractParser
- ecr_gate = Instruction(name='ecr', num_qubits=2, num_clbits=0, params=[])
- modify(circ)
Allows children to transform the program before validation/transforming into our AST occurs.
- parse(builder, qasm)
- Return type:
- parser_language()
- Return type:
Languages
- process_barrier(node, context, builder, **kwargs)
- process_cnot(node, context, builder, **kwargs)
- process_creg(node, context, builder, **kwargs)
- process_delay(node, context, builder, **kwargs)
- process_gate(node, context, builder, **kwargs)
Process a gate call.
- process_gate_definition(node, context, _, **kwargs)
- process_intrinsic(node, context, builder)
- process_measure(node, context, builder, **kwargs)
- process_program(builder, circ)
- Return type:
- process_qreg(node, context, builder, **kwargs)
- process_reset(node, context, builder, **kwargs)
- process_unitary(node, context, builder, **kwargs)
Unitary in QASM terms is just
U(...)
.
- validate(circ)
- walk_node(node, context, builder, **kwargs)
Process each individual QASM node, builds context or forwards processing to relevant
process_x
method associated with each node type.
- class RestrictedQasm2Parser(allowed_gates=None, disable_if=False, *args, **kwargs)
Bases:
Qasm2Parser
Parser which only allows certain gates to be passed.
- validate(circ)