summaryrefslogtreecommitdiffstats
path: root/Lib/lib2to3/pgen2/conv.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/lib2to3/pgen2/conv.py')
-rw-r--r--Lib/lib2to3/pgen2/conv.py66
1 files changed, 33 insertions, 33 deletions
diff --git a/Lib/lib2to3/pgen2/conv.py b/Lib/lib2to3/pgen2/conv.py
index 5d788a1..1d648d6 100644
--- a/Lib/lib2to3/pgen2/conv.py
+++ b/Lib/lib2to3/pgen2/conv.py
@@ -60,8 +60,8 @@ class Converter(grammar.Grammar):
"""
try:
f = open(filename)
- except IOError, err:
- print "Can't open %s: %s" % (filename, err)
+ except IOError as err:
+ print("Can't open %s: %s" % (filename, err))
return False
self.symbol2number = {}
self.number2symbol = {}
@@ -70,8 +70,8 @@ class Converter(grammar.Grammar):
lineno += 1
mo = re.match(r"^#define\s+(\w+)\s+(\d+)$", line)
if not mo and line.strip():
- print "%s(%s): can't parse %s" % (filename, lineno,
- line.strip())
+ print("%s(%s): can't parse %s" % (filename, lineno,
+ line.strip()))
else:
symbol, number = mo.groups()
number = int(number)
@@ -111,20 +111,20 @@ class Converter(grammar.Grammar):
"""
try:
f = open(filename)
- except IOError, err:
- print "Can't open %s: %s" % (filename, err)
+ except IOError as err:
+ print("Can't open %s: %s" % (filename, err))
return False
# The code below essentially uses f's iterator-ness!
lineno = 0
# Expect the two #include lines
- lineno, line = lineno+1, f.next()
+ lineno, line = lineno+1, next(f)
assert line == '#include "pgenheaders.h"\n', (lineno, line)
- lineno, line = lineno+1, f.next()
+ lineno, line = lineno+1, next(f)
assert line == '#include "grammar.h"\n', (lineno, line)
# Parse the state definitions
- lineno, line = lineno+1, f.next()
+ lineno, line = lineno+1, next(f)
allarcs = {}
states = []
while line.startswith("static arc "):
@@ -132,35 +132,35 @@ class Converter(grammar.Grammar):
mo = re.match(r"static arc arcs_(\d+)_(\d+)\[(\d+)\] = {$",
line)
assert mo, (lineno, line)
- n, m, k = map(int, mo.groups())
+ n, m, k = list(map(int, mo.groups()))
arcs = []
for _ in range(k):
- lineno, line = lineno+1, f.next()
+ lineno, line = lineno+1, next(f)
mo = re.match(r"\s+{(\d+), (\d+)},$", line)
assert mo, (lineno, line)
- i, j = map(int, mo.groups())
+ i, j = list(map(int, mo.groups()))
arcs.append((i, j))
- lineno, line = lineno+1, f.next()
+ lineno, line = lineno+1, next(f)
assert line == "};\n", (lineno, line)
allarcs[(n, m)] = arcs
- lineno, line = lineno+1, f.next()
+ lineno, line = lineno+1, next(f)
mo = re.match(r"static state states_(\d+)\[(\d+)\] = {$", line)
assert mo, (lineno, line)
- s, t = map(int, mo.groups())
+ s, t = list(map(int, mo.groups()))
assert s == len(states), (lineno, line)
state = []
for _ in range(t):
- lineno, line = lineno+1, f.next()
+ lineno, line = lineno+1, next(f)
mo = re.match(r"\s+{(\d+), arcs_(\d+)_(\d+)},$", line)
assert mo, (lineno, line)
- k, n, m = map(int, mo.groups())
+ k, n, m = list(map(int, mo.groups()))
arcs = allarcs[n, m]
assert k == len(arcs), (lineno, line)
state.append(arcs)
states.append(state)
- lineno, line = lineno+1, f.next()
+ lineno, line = lineno+1, next(f)
assert line == "};\n", (lineno, line)
- lineno, line = lineno+1, f.next()
+ lineno, line = lineno+1, next(f)
self.states = states
# Parse the dfas
@@ -169,18 +169,18 @@ class Converter(grammar.Grammar):
assert mo, (lineno, line)
ndfas = int(mo.group(1))
for i in range(ndfas):
- lineno, line = lineno+1, f.next()
+ lineno, line = lineno+1, next(f)
mo = re.match(r'\s+{(\d+), "(\w+)", (\d+), (\d+), states_(\d+),$',
line)
assert mo, (lineno, line)
symbol = mo.group(2)
- number, x, y, z = map(int, mo.group(1, 3, 4, 5))
+ number, x, y, z = list(map(int, mo.group(1, 3, 4, 5)))
assert self.symbol2number[symbol] == number, (lineno, line)
assert self.number2symbol[number] == symbol, (lineno, line)
assert x == 0, (lineno, line)
state = states[z]
assert y == len(state), (lineno, line)
- lineno, line = lineno+1, f.next()
+ lineno, line = lineno+1, next(f)
mo = re.match(r'\s+("(?:\\\d\d\d)*")},$', line)
assert mo, (lineno, line)
first = {}
@@ -191,18 +191,18 @@ class Converter(grammar.Grammar):
if byte & (1<<j):
first[i*8 + j] = 1
dfas[number] = (state, first)
- lineno, line = lineno+1, f.next()
+ lineno, line = lineno+1, next(f)
assert line == "};\n", (lineno, line)
self.dfas = dfas
# Parse the labels
labels = []
- lineno, line = lineno+1, f.next()
+ lineno, line = lineno+1, next(f)
mo = re.match(r"static label labels\[(\d+)\] = {$", line)
assert mo, (lineno, line)
nlabels = int(mo.group(1))
for i in range(nlabels):
- lineno, line = lineno+1, f.next()
+ lineno, line = lineno+1, next(f)
mo = re.match(r'\s+{(\d+), (0|"\w+")},$', line)
assert mo, (lineno, line)
x, y = mo.groups()
@@ -212,35 +212,35 @@ class Converter(grammar.Grammar):
else:
y = eval(y)
labels.append((x, y))
- lineno, line = lineno+1, f.next()
+ lineno, line = lineno+1, next(f)
assert line == "};\n", (lineno, line)
self.labels = labels
# Parse the grammar struct
- lineno, line = lineno+1, f.next()
+ lineno, line = lineno+1, next(f)
assert line == "grammar _PyParser_Grammar = {\n", (lineno, line)
- lineno, line = lineno+1, f.next()
+ lineno, line = lineno+1, next(f)
mo = re.match(r"\s+(\d+),$", line)
assert mo, (lineno, line)
ndfas = int(mo.group(1))
assert ndfas == len(self.dfas)
- lineno, line = lineno+1, f.next()
+ lineno, line = lineno+1, next(f)
assert line == "\tdfas,\n", (lineno, line)
- lineno, line = lineno+1, f.next()
+ lineno, line = lineno+1, next(f)
mo = re.match(r"\s+{(\d+), labels},$", line)
assert mo, (lineno, line)
nlabels = int(mo.group(1))
assert nlabels == len(self.labels), (lineno, line)
- lineno, line = lineno+1, f.next()
+ lineno, line = lineno+1, next(f)
mo = re.match(r"\s+(\d+)$", line)
assert mo, (lineno, line)
start = int(mo.group(1))
assert start in self.number2symbol, (lineno, line)
self.start = start
- lineno, line = lineno+1, f.next()
+ lineno, line = lineno+1, next(f)
assert line == "};\n", (lineno, line)
try:
- lineno, line = lineno+1, f.next()
+ lineno, line = lineno+1, next(f)
except StopIteration:
pass
else: