Skip to main contentIBM Quantum Documentation
You are viewing the API reference for an old version of Qiskit SDK. Switch to latest version

ast_to_dag

ast_to_dag(ast) GitHub(opens in a new tab)

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_2.png
Was this page helpful?