QXel.provider.braket.openqasm.interpreter module¶
- class QXel.provider.braket.openqasm.interpreter.Interpreter(context=None, logger=None)¶
Bases:
objectThe interpreter is responsible for visiting the AST of an OpenQASM program, as created by the parser, and building a QXel.provider.braket.openqasm.circuit.Circuit to hand off to a simulator e.g. QXel.provider.braket.qxel_sv.QXelStateVector
The interpreter keeps track of all state using a ProgramContext object. The main entry point is build_circuit(), which returns the built circuit. An alternative entry poitn, run() returns the ProgramContext object, which can be used for debugging or other customizability.
- build_circuit(source, inputs=None, is_file=False)¶
Interpret an OpenQASM program and build a Circuit IR.
- run(source, inputs=None, is_file=False)¶
Interpret an OpenQASM program and return the program state
- visit(node)¶
- visit(node_list)
- visit(node)
- visit(node)
- visit(node)
- visit(node)
- visit(node)
- visit(node)
- visit(node)
- visit(node)
- visit(node)
- visit(node)
- visit(node)
- visit(node)
- visit(node)
- visit(node)
- visit(node)
- visit(node)
- visit(node)
- visit(node)
- visit(node)
- visit(node)
- visit(node)
- visit(node)
- visit(node)
- visit(node)
- visit(node)
- visit(node)
- visit(node)
- visit(node)
- visit(node)
- visit(node)
- visit(node)
- visit(node)
- visit(node)
Generic visit function for an AST node
- inline_gate_def_body(body)¶
- handle_builtin_gate(gate_name, arguments, qubits, modifiers)¶
Add unitary operation to the circuit
- handle_phase(phase, qubits=None)¶
Add quantum phase operation to the circuit