Skip to content

Commit da62e6b

Browse files
committed
Add OpenQASM parser based on Pyparsing + cleanup qiskit code
1 parent 9596420 commit da62e6b

File tree

5 files changed

+1296
-442
lines changed

5 files changed

+1296
-442
lines changed

projectq/libs/qasm/__init__.py

+16-14
Original file line numberDiff line numberDiff line change
@@ -18,20 +18,22 @@
1818
try:
1919
from ._parse_qasm_qiskit import read_qasm_file, read_qasm_str
2020
except ImportError: # pragma: no cover
21-
import warnings
21+
try:
22+
from ._parse_qasm_pyparsing import read_qasm_file, read_qasm_str
23+
except ImportError as e:
24+
import warnings
25+
err = ('Unable to import either qiskit or pyparsing\n'
26+
'Please install either of them (e.g. using the '
27+
'command python -m pip install qiskit')
2228

23-
err = ('Unable to import qiskit\n'
24-
'Please install it (e.g. using the command: '
25-
'python -m pip install qiskit')
29+
warnings.warn(err + '\n'
30+
'The provided read_qasm_* functions will systematically'
31+
'raise a RuntimeError')
2632

27-
warnings.warn(err + 'c\n'
28-
'The provided read_qasm_* functions will systematically'
29-
'raise a RuntimeError')
33+
def read_qasm_file(eng, filename):
34+
# pylint: disable=unused-argument
35+
raise RuntimeError(err)
3036

31-
def read_qasm_file(eng, filename):
32-
# pylint: disable=unused-argument
33-
raise RuntimeError(err)
34-
35-
def read_qasm_str(eng, qasm_str):
36-
# pylint: disable=unused-argument
37-
raise RuntimeError(err)
37+
def read_qasm_str(eng, qasm_str):
38+
# pylint: disable=unused-argument
39+
raise RuntimeError(err)

0 commit comments

Comments
 (0)