@@ -60,8 +60,8 @@ def parse_graminit_h(self, filename):
6060 """
6161 try :
6262 f = open (filename )
63- except IOError , err :
64- print "Can't open %s: %s" % (filename , err )
63+ except IOError as err :
64+ print ( "Can't open %s: %s" % (filename , err ) )
6565 return False
6666 self .symbol2number = {}
6767 self .number2symbol = {}
@@ -70,8 +70,8 @@ def parse_graminit_h(self, filename):
7070 lineno += 1
7171 mo = re .match (r"^#define\s+(\w+)\s+(\d+)$" , line )
7272 if not mo and line .strip ():
73- print "%s(%s): can't parse %s" % (filename , lineno ,
74- line .strip ())
73+ print ( "%s(%s): can't parse %s" % (filename , lineno ,
74+ line .strip ()))
7575 else :
7676 symbol , number = mo .groups ()
7777 number = int (number )
@@ -111,56 +111,56 @@ def parse_graminit_c(self, filename):
111111 """
112112 try :
113113 f = open (filename )
114- except IOError , err :
115- print "Can't open %s: %s" % (filename , err )
114+ except IOError as err :
115+ print ( "Can't open %s: %s" % (filename , err ) )
116116 return False
117117 # The code below essentially uses f's iterator-ness!
118118 lineno = 0
119119
120120 # Expect the two #include lines
121- lineno , line = lineno + 1 , f . next ()
121+ lineno , line = lineno + 1 , next (f )
122122 assert line == '#include "pgenheaders.h"\n ' , (lineno , line )
123- lineno , line = lineno + 1 , f . next ()
123+ lineno , line = lineno + 1 , next (f )
124124 assert line == '#include "grammar.h"\n ' , (lineno , line )
125125
126126 # Parse the state definitions
127- lineno , line = lineno + 1 , f . next ()
127+ lineno , line = lineno + 1 , next (f )
128128 allarcs = {}
129129 states = []
130130 while line .startswith ("static arc " ):
131131 while line .startswith ("static arc " ):
132132 mo = re .match (r"static arc arcs_(\d+)_(\d+)\[(\d+)\] = {$" ,
133133 line )
134134 assert mo , (lineno , line )
135- n , m , k = map (int , mo .groups ())
135+ n , m , k = list ( map (int , mo .groups () ))
136136 arcs = []
137137 for _ in range (k ):
138- lineno , line = lineno + 1 , f . next ()
138+ lineno , line = lineno + 1 , next (f )
139139 mo = re .match (r"\s+{(\d+), (\d+)},$" , line )
140140 assert mo , (lineno , line )
141- i , j = map (int , mo .groups ())
141+ i , j = list ( map (int , mo .groups () ))
142142 arcs .append ((i , j ))
143- lineno , line = lineno + 1 , f . next ()
143+ lineno , line = lineno + 1 , next (f )
144144 assert line == "};\n " , (lineno , line )
145145 allarcs [(n , m )] = arcs
146- lineno , line = lineno + 1 , f . next ()
146+ lineno , line = lineno + 1 , next (f )
147147 mo = re .match (r"static state states_(\d+)\[(\d+)\] = {$" , line )
148148 assert mo , (lineno , line )
149- s , t = map (int , mo .groups ())
149+ s , t = list ( map (int , mo .groups () ))
150150 assert s == len (states ), (lineno , line )
151151 state = []
152152 for _ in range (t ):
153- lineno , line = lineno + 1 , f . next ()
153+ lineno , line = lineno + 1 , next (f )
154154 mo = re .match (r"\s+{(\d+), arcs_(\d+)_(\d+)},$" , line )
155155 assert mo , (lineno , line )
156- k , n , m = map (int , mo .groups ())
156+ k , n , m = list ( map (int , mo .groups () ))
157157 arcs = allarcs [n , m ]
158158 assert k == len (arcs ), (lineno , line )
159159 state .append (arcs )
160160 states .append (state )
161- lineno , line = lineno + 1 , f . next ()
161+ lineno , line = lineno + 1 , next (f )
162162 assert line == "};\n " , (lineno , line )
163- lineno , line = lineno + 1 , f . next ()
163+ lineno , line = lineno + 1 , next (f )
164164 self .states = states
165165
166166 # Parse the dfas
@@ -169,18 +169,18 @@ def parse_graminit_c(self, filename):
169169 assert mo , (lineno , line )
170170 ndfas = int (mo .group (1 ))
171171 for i in range (ndfas ):
172- lineno , line = lineno + 1 , f . next ()
172+ lineno , line = lineno + 1 , next (f )
173173 mo = re .match (r'\s+{(\d+), "(\w+)", (\d+), (\d+), states_(\d+),$' ,
174174 line )
175175 assert mo , (lineno , line )
176176 symbol = mo .group (2 )
177- number , x , y , z = map (int , mo .group (1 , 3 , 4 , 5 ))
177+ number , x , y , z = list ( map (int , mo .group (1 , 3 , 4 , 5 ) ))
178178 assert self .symbol2number [symbol ] == number , (lineno , line )
179179 assert self .number2symbol [number ] == symbol , (lineno , line )
180180 assert x == 0 , (lineno , line )
181181 state = states [z ]
182182 assert y == len (state ), (lineno , line )
183- lineno , line = lineno + 1 , f . next ()
183+ lineno , line = lineno + 1 , next (f )
184184 mo = re .match (r'\s+("(?:\\\d\d\d)*")},$' , line )
185185 assert mo , (lineno , line )
186186 first = {}
@@ -191,18 +191,18 @@ def parse_graminit_c(self, filename):
191191 if byte & (1 << j ):
192192 first [i * 8 + j ] = 1
193193 dfas [number ] = (state , first )
194- lineno , line = lineno + 1 , f . next ()
194+ lineno , line = lineno + 1 , next (f )
195195 assert line == "};\n " , (lineno , line )
196196 self .dfas = dfas
197197
198198 # Parse the labels
199199 labels = []
200- lineno , line = lineno + 1 , f . next ()
200+ lineno , line = lineno + 1 , next (f )
201201 mo = re .match (r"static label labels\[(\d+)\] = {$" , line )
202202 assert mo , (lineno , line )
203203 nlabels = int (mo .group (1 ))
204204 for i in range (nlabels ):
205- lineno , line = lineno + 1 , f . next ()
205+ lineno , line = lineno + 1 , next (f )
206206 mo = re .match (r'\s+{(\d+), (0|"\w+")},$' , line )
207207 assert mo , (lineno , line )
208208 x , y = mo .groups ()
@@ -212,35 +212,35 @@ def parse_graminit_c(self, filename):
212212 else :
213213 y = eval (y )
214214 labels .append ((x , y ))
215- lineno , line = lineno + 1 , f . next ()
215+ lineno , line = lineno + 1 , next (f )
216216 assert line == "};\n " , (lineno , line )
217217 self .labels = labels
218218
219219 # Parse the grammar struct
220- lineno , line = lineno + 1 , f . next ()
220+ lineno , line = lineno + 1 , next (f )
221221 assert line == "grammar _PyParser_Grammar = {\n " , (lineno , line )
222- lineno , line = lineno + 1 , f . next ()
222+ lineno , line = lineno + 1 , next (f )
223223 mo = re .match (r"\s+(\d+),$" , line )
224224 assert mo , (lineno , line )
225225 ndfas = int (mo .group (1 ))
226226 assert ndfas == len (self .dfas )
227- lineno , line = lineno + 1 , f . next ()
227+ lineno , line = lineno + 1 , next (f )
228228 assert line == "\t dfas,\n " , (lineno , line )
229- lineno , line = lineno + 1 , f . next ()
229+ lineno , line = lineno + 1 , next (f )
230230 mo = re .match (r"\s+{(\d+), labels},$" , line )
231231 assert mo , (lineno , line )
232232 nlabels = int (mo .group (1 ))
233233 assert nlabels == len (self .labels ), (lineno , line )
234- lineno , line = lineno + 1 , f . next ()
234+ lineno , line = lineno + 1 , next (f )
235235 mo = re .match (r"\s+(\d+)$" , line )
236236 assert mo , (lineno , line )
237237 start = int (mo .group (1 ))
238238 assert start in self .number2symbol , (lineno , line )
239239 self .start = start
240- lineno , line = lineno + 1 , f . next ()
240+ lineno , line = lineno + 1 , next (f )
241241 assert line == "};\n " , (lineno , line )
242242 try :
243- lineno , line = lineno + 1 , f . next ()
243+ lineno , line = lineno + 1 , next (f )
244244 except StopIteration :
245245 pass
246246 else :
0 commit comments