diff options
author | Fredrik Lundh <fredrik@pythonware.com> | 2000-06-30 22:37:31 +0000 |
---|---|---|
committer | Fredrik Lundh <fredrik@pythonware.com> | 2000-06-30 22:37:31 +0000 |
commit | 55a4f4a528b6eade932b01d7a0bee0a34fae1f6a (patch) | |
tree | ca3b29a5036c251fca80910640da0449a5dddfbc /Lib/sre_parse.py | |
parent | 361b583e88a260553418aaf5f5b00f31cc5ce5fb (diff) | |
download | cpython-git-55a4f4a528b6eade932b01d7a0bee0a34fae1f6a.tar.gz |
- fixed code generation error in multiline mode
- fixed parser flag propagation (of all stupid bugs...)
Diffstat (limited to 'Lib/sre_parse.py')
-rw-r--r-- | Lib/sre_parse.py | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/Lib/sre_parse.py b/Lib/sre_parse.py index 660bae6841..53616f618f 100644 --- a/Lib/sre_parse.py +++ b/Lib/sre_parse.py @@ -31,7 +31,7 @@ DIGITS = tuple(string.digits) OCTDIGITS = tuple("01234567") HEXDIGITS = tuple("0123456789abcdefABCDEF") -WHITESPACE = string.whitespace +WHITESPACE = tuple(string.whitespace) ESCAPES = { r"\a": (LITERAL, 7), @@ -296,7 +296,7 @@ def _branch(pattern, items): subpattern.append((BRANCH, (None, items))) return subpattern -def _parse(source, state, flags=0): +def _parse(source, state): # parse regular expression pattern into an operator list. @@ -468,7 +468,7 @@ def _parse(source, state, flags=0): char = source.get() b = [] while 1: - p = _parse(source, state, flags) + p = _parse(source, state) if source.next == ")": if b: b.append(p) @@ -495,7 +495,7 @@ def _parse(source, state, flags=0): else: group = state.getgroup(name) while 1: - p = _parse(source, state, flags) + p = _parse(source, state) if source.match(")"): if b: b.append(p) @@ -532,9 +532,10 @@ def parse(pattern, flags=0): # parse 're' pattern into list of (opcode, argument) tuples source = Tokenizer(pattern) state = State() + state.flags = flags b = [] while 1: - p = _parse(source, state, flags) + p = _parse(source, state) tail = source.get() if tail == "|": b.append(p) |