Skip to content

♻️ Refactor QASM import functionality and remove deprecated formats #822

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 6 commits into from
Feb 4, 2025

Conversation

burgholzer
Copy link
Member

@burgholzer burgholzer commented Feb 3, 2025

Description

This pull request refactors the QASM import functionality by encapsulating the QASM parser into its own dedicated library, MQT::CoreQASM. This change removes the import functionality from the QuantumComputation class, improving modularity and maintainability. Additionally, deprecated formats have been removed, streamlining the codebase.

Notably, this removes support for parsing .real files. Corresponding support is expected to be integrated into the MQT SyReC Synthesizer at https://github.com/cda-tum/mqt-syrec.

Checklist:

  • The pull request only contains commits that are related to it.
  • I have added appropriate tests and documentation.
  • I have made sure that all CI jobs on GitHub pass.
  • The pull request introduces no new warnings and follows the project's style guidelines.

- ♻️ turn QASM parser into its own library
- 🔥 remove import functionality from `QuantumComputation`
  the respective functionality is now provided by a separate `MQT::CoreQASM` library
- ♻️ refactor QASM parser and improve imports

Signed-off-by: burgholzer <[email protected]>
@burgholzer burgholzer self-assigned this Feb 3, 2025
@burgholzer burgholzer added refactor Anything related to code refactoring code quality Code quality improvements Core Anything related to the Core library and IR c++ Anything related to C++ code extensive-cpp-ci Adding this label indicates that extensive C++ CI runs should be started for this PR. labels Feb 3, 2025
@burgholzer burgholzer added this to the MQT Core milestone Feb 3, 2025
@burgholzer burgholzer force-pushed the remove-non-qasm-parsers branch from 0e6105c to 5cb74d6 Compare February 3, 2025 20:11
Copy link

codecov bot commented Feb 3, 2025

@burgholzer burgholzer merged commit be654c7 into main Feb 4, 2025
62 checks passed
@burgholzer burgholzer deleted the remove-non-qasm-parsers branch February 4, 2025 18:02
burgholzer added a commit to munich-quantum-toolkit/syrec that referenced this pull request Feb 4, 2025
## Description

This moves the `.real` parser from MQT Core, where it has been removed
in munich-quantum-toolkit/core#822, to this repository.
As there are no previous connection points to the SyReC repository, this
is relatively standalone for now.

## Checklist:

<!---
This checklist serves as a reminder of a couple of things that ensure
your pull request will be merged swiftly.
-->

- [x] The pull request only contains commits that are related to it.
- [x] I have added appropriate tests and documentation.
- [x] I have made sure that all CI jobs on GitHub pass.
- [x] The pull request introduces no new warnings and follows the
project's style guidelines.
@burgholzer burgholzer mentioned this pull request Feb 4, 2025
4 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
c++ Anything related to C++ code code quality Code quality improvements Core Anything related to the Core library and IR extensive-cpp-ci Adding this label indicates that extensive C++ CI runs should be started for this PR. refactor Anything related to code refactoring
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant