qiskit-documentation/docs/api/qiskit/0.27/qiskit.converters.ast_to_da...

54 lines
1.4 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: ast_to_dag
description: API reference for qiskit.converters.ast_to_dag
in_page_toc_min_heading_level: 1
python_api_type: function
python_api_name: qiskit.converters.ast_to_dag
---
# qiskit.converters.ast\_to\_dag
<Function id="qiskit.converters.ast_to_dag" isDedicatedPage={true} github="https://github.com/qiskit/qiskit/tree/stable/0.17/qiskit/converters/ast_to_dag.py" signature="ast_to_dag(ast)">
Build a `DAGCircuit` object from an AST `Node` object.
**Parameters**
**ast** (*Program*) a Program Node of an AST (parsers output)
**Returns**
the DAG representing an OpenQASMs AST
**Return type**
[DAGCircuit](qiskit.dagcircuit.DAGCircuit "qiskit.dagcircuit.DAGCircuit")
**Raises**
**QiskitError** if the AST is malformed.
**Example**
```python
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](/images/api/qiskit/0.27/qiskit.converters.ast_to_dag_0_0.png)
</Function>