qiskit.converters.ast_to_dag¶
-
ast_to_dag
(ast)[source]¶ Build a
DAGCircuit
object from an ASTNode
object.- Parameters
ast (Program) – a Program Node of an AST (parser’s output)
- Returns
the DAG representing an OpenQASM’s AST
- Return type
- Raises
QiskitError – if the AST is malformed.
Example
from qiskit.converters import ast_to_dag from qiskit import qasm, QuantumCircuit, ClassicalRegister, QuantumRegister from qiskit.visualization import dag_drawer %matplotlib inline q = QuantumRegister(3, 'q') c = ClassicalRegister(3, 'c') circ = QuantumCircuit(q, c) circ.h(q[0]) circ.cx(q[0], q[1]) circ.measure(q[0], c[0]) circ.rz(0.5, q[1]).c_if(c, 2) qasm_str = circ.qasm() ast = qasm.Qasm(data=qasm_str).parse() dag = ast_to_dag(ast) dag_drawer(dag)