@@ -31,7 +31,7 @@ def _namelist(instance):
3131 for b in c .__bases__ :
3232 classlist .append (b )
3333 for name in c .__dict__ .keys ():
34- if not namedict . has_key ( name ) :
34+ if name not in namedict :
3535 namelist .append (name )
3636 namedict [name ] = 1
3737 return namelist
@@ -73,7 +73,7 @@ def tokenize(self, s):
7373
7474 groups = m .groups ()
7575 for i in range (len (groups )):
76- if groups [i ] and self .index2func . has_key ( i ) :
76+ if groups [i ] and i in self .index2func :
7777 self .index2func [i ](groups [i ])
7878 pos = m .end ()
7979
@@ -141,7 +141,7 @@ def __getstate__(self):
141141 for k , v in self .edges .items ():
142142 if v is None :
143143 state , sym = k
144- if self .states . has_key ( state ) :
144+ if state in self .states :
145145 self .goto (state , sym )
146146 changes = 1
147147 rv = self .__dict__ .copy ()
@@ -188,7 +188,7 @@ def addRule(self, doc, func, _preprocess=1):
188188 if _preprocess :
189189 rule , fn = self .preprocess (rule , func )
190190
191- if self .rules . has_key ( lhs ) :
191+ if lhs in self .rules :
192192 self .rules [lhs ].append (rule )
193193 else :
194194 self .rules [lhs ] = [ rule ]
@@ -226,7 +226,7 @@ def computeNull(self):
226226 # grammars.
227227 #
228228 for sym in rhs :
229- if not self .rules . has_key ( sym ) :
229+ if sym not in self .rules :
230230 break
231231 else :
232232 tbd .append (rule )
@@ -269,7 +269,7 @@ def makeNewRules(self):
269269 n = len (rhs )
270270 while i < n :
271271 sym = rhs [i ]
272- if not self .rules . has_key ( sym ) or \
272+ if sym not in self .rules or \
273273 not self .nullable [sym ]:
274274 candidate = 0
275275 i = i + 1
@@ -286,7 +286,7 @@ def makeNewRules(self):
286286 if candidate :
287287 lhs = self ._NULLABLE + lhs
288288 rule = (lhs , rhs )
289- if self .newrules . has_key ( lhs ) :
289+ if lhs in self .newrules :
290290 self .newrules [lhs ].append (rule )
291291 else :
292292 self .newrules [lhs ] = [ rule ]
@@ -365,7 +365,7 @@ def makeState(self, state, sym):
365365
366366 core .sort ()
367367 tcore = tuple (core )
368- if self .cores . has_key ( tcore ) :
368+ if tcore in self .cores :
369369 return self .cores [tcore ]
370370 #
371371 # Nope, doesn't exist. Compute it and the associated
@@ -389,13 +389,13 @@ def makeState(self, state, sym):
389389
390390 nextSym = rhs [pos ]
391391 key = (X .stateno , nextSym )
392- if not rules . has_key ( nextSym ) :
393- if not edges . has_key ( key ) :
392+ if nextSym not in rules :
393+ if key not in edges :
394394 edges [key ] = None
395395 X .T .append (nextSym )
396396 else :
397397 edges [key ] = None
398- if not predicted . has_key ( nextSym ) :
398+ if nextSym not in predicted :
399399 predicted [nextSym ] = 1
400400 for prule in rules [nextSym ]:
401401 ppos = self .skip (prule )
@@ -422,7 +422,7 @@ def makeState(self, state, sym):
422422 core = predicted .keys ()
423423 core .sort ()
424424 tcore = tuple (core )
425- if self .cores . has_key ( tcore ) :
425+ if tcore in self .cores :
426426 self .edges [(k , None )] = self .cores [tcore ]
427427 return k
428428
@@ -433,7 +433,7 @@ def makeState(self, state, sym):
433433
434434 def goto (self , state , sym ):
435435 key = (state , sym )
436- if not self .edges . has_key ( key ) :
436+ if key not in self .edges :
437437 #
438438 # No transitions from state on sym.
439439 #
@@ -631,7 +631,7 @@ def buildTree(self, nt, item, tokens, k):
631631
632632 for i in range (len (rhs )- 1 , - 1 , - 1 ):
633633 sym = rhs [i ]
634- if not self .newrules . has_key ( sym ) :
634+ if sym not in self .newrules :
635635 if sym != self ._BOF :
636636 attr [i ] = tokens [k - 1 ]
637637 key = (item , k )
0 commit comments