Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 15 additions & 2 deletions qiskit/qasm/qasm.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@
"""
OPENQASM circuit object.
"""
import warnings

from .exceptions import QasmError
from .qasmparser import QasmParser

Expand All @@ -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."""
Expand Down
18 changes: 17 additions & 1 deletion qiskit/qasm/qasmparser.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
import os
import shutil
import tempfile
import warnings

import ply.yacc as yacc
import sympy
Expand Down Expand Up @@ -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()
Expand Down