summaryrefslogtreecommitdiff
path: root/examples/invRegex.py
diff options
context:
space:
mode:
authorJon Dufresne <jon.dufresne@gmail.com>2019-10-24 20:11:14 -0700
committerPaul McGuire <ptmcg@users.noreply.github.com>2019-10-24 22:11:14 -0500
commitf73e2571fb643a2afdde365eeee0fe0f3f4f5300 (patch)
treef9015586cee7efc5e60eee78a8ebcbaa4e9e953d /examples/invRegex.py
parent696808023f10207461d7b22dc1d02cbed44e2bfa (diff)
downloadpyparsing-git-f73e2571fb643a2afdde365eeee0fe0f3f4f5300.tar.gz
Use pyupgrade to upgrade the code to use Python3 conventions (#138)
The pyupgrade project is available at https://github.com/asottile/pyupgrade and can be installed through pip. The pyupgrade tool automatically upgrades syntax for newer versions of the language. As pyparsing is now Python 3 only, can apply some cleanups and simplifications. Ran the tool using the following command: $ find . -name \*.py -exec pyupgrade --py3-plus {} \; For now, pyparsing.py was skipped while it is refactored to a package.
Diffstat (limited to 'examples/invRegex.py')
-rw-r--r--examples/invRegex.py30
1 files changed, 12 insertions, 18 deletions
diff --git a/examples/invRegex.py b/examples/invRegex.py
index e935b3b..1777635 100644
--- a/examples/invRegex.py
+++ b/examples/invRegex.py
@@ -17,7 +17,7 @@ from pyparsing import (Literal, oneOf, printables, ParserElement, Combine,
SkipTo, infixNotation, ParseFatalException, Word, nums, opAssoc,
Suppress, ParseResults, srange)
-class CharacterRangeEmitter(object):
+class CharacterRangeEmitter:
def __init__(self,chars):
# remove duplicate chars in character range, but preserve original order
seen = set()
@@ -28,56 +28,50 @@ class CharacterRangeEmitter(object):
return '['+self.charset+']'
def makeGenerator(self):
def genChars():
- for s in self.charset:
- yield s
+ yield from self.charset
return genChars
-class OptionalEmitter(object):
+class OptionalEmitter:
def __init__(self,expr):
self.expr = expr
def makeGenerator(self):
def optionalGen():
yield ""
- for s in self.expr.makeGenerator()():
- yield s
+ yield from self.expr.makeGenerator()()
return optionalGen
-class DotEmitter(object):
+class DotEmitter:
def makeGenerator(self):
def dotGen():
- for c in printables:
- yield c
+ yield from printables
return dotGen
-class GroupEmitter(object):
+class GroupEmitter:
def __init__(self,exprs):
self.exprs = ParseResults(exprs)
def makeGenerator(self):
def groupGen():
def recurseList(elist):
if len(elist)==1:
- for s in elist[0].makeGenerator()():
- yield s
+ yield from elist[0].makeGenerator()()
else:
for s in elist[0].makeGenerator()():
for s2 in recurseList(elist[1:]):
yield s + s2
if self.exprs:
- for s in recurseList(self.exprs):
- yield s
+ yield from recurseList(self.exprs)
return groupGen
-class AlternativeEmitter(object):
+class AlternativeEmitter:
def __init__(self,exprs):
self.exprs = exprs
def makeGenerator(self):
def altGen():
for e in self.exprs:
- for s in e.makeGenerator()():
- yield s
+ yield from e.makeGenerator()()
return altGen
-class LiteralEmitter(object):
+class LiteralEmitter:
def __init__(self,lit):
self.lit = lit
def __str__(self):