Skip to main contentIBM Quantum Documentation
This page is from an old version of Qiskit SDK and does not exist in the latest version. We recommend you migrate to the latest version. See the release notes for more information.

qiskit.converters.ast_to_dag

ast_to_dag(ast)

GitHub

Build a DAGCircuit object from an AST Node object.

Parameters

ast (Program) – a Program Node of an AST (parser’s output)

Returns

the DAG representing an OpenQASM’s AST

Return type

DAGCircuit

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)
../_images/qiskit.converters.ast_to_dag_0_0.png
Was this page helpful?
Report a bug or request content on GitHub.