diff options
Diffstat (limited to 'Lib/lib2to3/pgen2/conv.py')
-rw-r--r-- | Lib/lib2to3/pgen2/conv.py | 66 |
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: |