]> granicus.if.org Git - python/commitdiff
bpo-34681: Rename class Pattern in sre_parse to State. (GH-9310)
authorSerhiy Storchaka <storchaka@gmail.com>
Tue, 18 Sep 2018 06:16:26 +0000 (09:16 +0300)
committerGitHub <noreply@github.com>
Tue, 18 Sep 2018 06:16:26 +0000 (09:16 +0300)
Also rename corresponding attributes, parameters and variables.

Lib/re.py
Lib/sre_compile.py
Lib/sre_parse.py

index 94d486579e08b822592ac675d9512d31e6b5a20e..68d62dc2a93b05e59a52e64cce4472467986a728 100644 (file)
--- a/Lib/re.py
+++ b/Lib/re.py
@@ -334,7 +334,7 @@ class Scanner:
         self.lexicon = lexicon
         # combine phrases into a compound pattern
         p = []
-        s = sre_parse.Pattern()
+        s = sre_parse.State()
         s.flags = flags
         for phrase, action in lexicon:
             gid = s.opengroup()
index e5216b792f6b49791bbc2919188f52e3023e942c..36670427db7693917cc502deb2249502602bfc51 100644 (file)
@@ -597,7 +597,7 @@ def isstring(obj):
 
 def _code(p, flags):
 
-    flags = p.pattern.flags | flags
+    flags = p.state.flags | flags
     code = []
 
     # compile info block
@@ -772,13 +772,13 @@ def compile(p, flags=0):
         dis(code)
 
     # map in either direction
-    groupindex = p.pattern.groupdict
-    indexgroup = [None] * p.pattern.groups
+    groupindex = p.state.groupdict
+    indexgroup = [None] * p.state.groups
     for k, i in groupindex.items():
         indexgroup[i] = k
 
     return _sre.compile(
-        pattern, flags | p.pattern.flags, code,
-        p.pattern.groups-1,
+        pattern, flags | p.state.flags, code,
+        p.state.groups-1,
         groupindex, tuple(indexgroup)
         )
index f414402f93799d741417192a7ae54428dfc0a723..84c912573e7f5443bdb63ffaecc1a645f4fc4c43 100644 (file)
@@ -71,8 +71,8 @@ GLOBAL_FLAGS = SRE_FLAG_DEBUG | SRE_FLAG_TEMPLATE
 class Verbose(Exception):
     pass
 
-class Pattern:
-    # main pattern object.  keeps track of global attributes
+class State:
+    # keeps track of state for parsing
     def __init__(self):
         self.flags = 0
         self.groupdict = {}
@@ -108,8 +108,8 @@ class Pattern:
 
 class SubPattern:
     # a subpattern, in intermediate form
-    def __init__(self, pattern, data=None):
-        self.pattern = pattern
+    def __init__(self, state, data=None):
+        self.state = state
         if data is None:
             data = []
         self.data = data
@@ -163,7 +163,7 @@ class SubPattern:
         del self.data[index]
     def __getitem__(self, index):
         if isinstance(index, slice):
-            return SubPattern(self.pattern, self.data[index])
+            return SubPattern(self.state, self.data[index])
         return self.data[index]
     def __setitem__(self, index, code):
         self.data[index] = code
@@ -202,7 +202,7 @@ class SubPattern:
                 lo = lo + 1
                 hi = hi + 1
             elif op is GROUPREF:
-                i, j = self.pattern.groupwidths[av]
+                i, j = self.state.groupwidths[av]
                 lo = lo + i
                 hi = hi + j
             elif op is GROUPREF_EXISTS:
@@ -940,28 +940,28 @@ def fix_flags(src, flags):
             raise ValueError("ASCII and LOCALE flags are incompatible")
     return flags
 
-def parse(str, flags=0, pattern=None):
+def parse(str, flags=0, state=None):
     # parse 're' pattern into list of (opcode, argument) tuples
 
     source = Tokenizer(str)
 
-    if pattern is None:
-        pattern = Pattern()
-    pattern.flags = flags
-    pattern.str = str
+    if state is None:
+        state = State()
+    state.flags = flags
+    state.str = str
 
     try:
-        p = _parse_sub(source, pattern, flags & SRE_FLAG_VERBOSE, 0)
+        p = _parse_sub(source, state, flags & SRE_FLAG_VERBOSE, 0)
     except Verbose:
         # the VERBOSE flag was switched on inside the pattern.  to be
         # on the safe side, we'll parse the whole thing again...
-        pattern = Pattern()
-        pattern.flags = flags | SRE_FLAG_VERBOSE
-        pattern.str = str
+        state = State()
+        state.flags = flags | SRE_FLAG_VERBOSE
+        state.str = str
         source.seek(0)
-        p = _parse_sub(source, pattern, True, 0)
+        p = _parse_sub(source, state, True, 0)
 
-    p.pattern.flags = fix_flags(str, p.pattern.flags)
+    p.state.flags = fix_flags(str, p.state.flags)
 
     if source.next is not None:
         assert source.next == ")"
@@ -972,7 +972,7 @@ def parse(str, flags=0, pattern=None):
 
     return p
 
-def parse_template(source, pattern):
+def parse_template(source, state):
     # parse 're' replacement string into list of literals and
     # group references
     s = Tokenizer(source)
@@ -982,14 +982,14 @@ def parse_template(source, pattern):
     literal = []
     lappend = literal.append
     def addgroup(index, pos):
-        if index > pattern.groups:
+        if index > state.groups:
             raise s.error("invalid group reference %d" % index, pos)
         if literal:
             literals.append(''.join(literal))
             del literal[:]
         groups.append((len(literals), index))
         literals.append(None)
-    groupindex = pattern.groupindex
+    groupindex = state.groupindex
     while True:
         this = sget()
         if this is None: