qiskit/crates/qasm3
Kento Ueda bbcc9879b7
Implementation of a Limited QASM3 Exporter except controlflow and Classical Variables in Rust (#14226)
* draft for qasm3exporter

* refactoring exporter and ast

* wip: simplify symbol table

* Remove unused struct

* Add #[allow(dead_code)] to ast.rs

* Remove scopes from symbol_table because we might not support controlflow and scope switching

* Remove qubit_map, clbit_map, and some functions for handling controlflow beucase we might not support controlflow

* Add tests and format

* format

* Added registers to BitLocations

* Edited ast.rs

* Exporter.rs for standard gates

* Fixed exporter.py

* printer.rs

* Add test

* format

* python format

* Fix dumps from python

* refactoring exporter.rs

* Fix printer.py

* Reorder each functions

* Replace hashmap with indexmap in using gates in symboltable

---------

Co-authored-by: Jake Lishman <jake.lishman@ibm.com>
2025-05-27 20:55:57 +00:00
..
src Implementation of a Limited QASM3 Exporter except controlflow and Classical Variables in Rust (#14226) 2025-05-27 20:55:57 +00:00
Cargo.toml Implementation of a Limited QASM3 Exporter except controlflow and Classical Variables in Rust (#14226) 2025-05-27 20:55:57 +00:00
README.md Native OpenQASM 3 importer (#11584) 2024-02-01 02:21:49 +00:00

README.md

qiskit._qasm3

This crate is the Rust-level Qiskit interface to a separately managed OpenQASM 3 parser. In order to maintain a sensible separation of concerns, and because we hope to expand the use of that parser outside Qiskit, the parsing side does not depend on Qiskit, and this crate interfaces with it in a Qiskit-specific manner to produce QuantumCircuits.