diff --git a/qiskit/qasm/qasm.py b/qiskit/qasm/qasm.py index 48c6340e5678..1735cfc7cd5b 100644 --- a/qiskit/qasm/qasm.py +++ b/qiskit/qasm/qasm.py @@ -15,6 +15,8 @@ """ OPENQASM circuit object. """ +import warnings + from .exceptions import QasmError from .qasmparser import QasmParser @@ -32,18 +34,29 @@ def __init__(self, filename=None, data=None): self._filename = filename self._data = data - def get_filename(self): + def return_filename(self): """Return the filename.""" return self._filename def get_tokens(self): + """Deprecated. Use generate_tokens().""" + warnings.warn('The method get_tokens() is being replaced by generate_tokens()', + DeprecationWarning, 2) + if self._filename: + with open(self._filename) as ifile: + self._data = ifile.read() + + with QasmParser(self._filename) as qasm_p: + return qasm_p.read_tokens() + + def generate_tokens(self): """Returns a generator of the tokens.""" if self._filename: with open(self._filename) as ifile: self._data = ifile.read() with QasmParser(self._filename) as qasm_p: - return qasm_p.get_tokens() + return qasm_p.read_tokens() def parse(self): """Parse the data.""" diff --git a/qiskit/qasm/qasmparser.py b/qiskit/qasm/qasmparser.py index 568c6d53534b..0fd46416a1ea 100644 --- a/qiskit/qasm/qasmparser.py +++ b/qiskit/qasm/qasmparser.py @@ -17,6 +17,7 @@ import os import shutil import tempfile +import warnings import ply.yacc as yacc import sympy @@ -1046,7 +1047,22 @@ def find_column(self, input_, token): return column def get_tokens(self): - """Returns a generator of the tokens.""" + """Deprecated. Use read_tokens().""" + warnings.warn('The method get_tokens() is being replaced by read_tokens()', + DeprecationWarning, 2) + try: + while True: + token = self.lexer.token() + + if not token: + break + + yield token + except QasmError as e: + print('Exception tokenizing qasm file:', e.msg) + + def read_tokens(self): + """finds and reads the tokens.""" try: while True: token = self.lexer.token()