]> granicus.if.org Git - python/commitdiff
- removed "alpha only" licensing restriction
authorFredrik Lundh <fredrik@pythonware.com>
Thu, 29 Jun 2000 10:34:56 +0000 (10:34 +0000)
committerFredrik Lundh <fredrik@pythonware.com>
Thu, 29 Jun 2000 10:34:56 +0000 (10:34 +0000)
- removed some hacks that worked around 1.6 alpha bugs
- removed bogus test code from sre_parse

Lib/sre_compile.py
Lib/sre_constants.py
Lib/sre_parse.py
Modules/_sre.c

index aeafe9d83cf37ea18b6ffc9cf09e245e6c8d005b..2d7c0212733e6e23c0f7cd54339158b24f79b0c1 100644 (file)
@@ -6,9 +6,6 @@
 #
 # Copyright (c) 1997-2000 by Secret Labs AB.  All rights reserved.
 #
-# This code can only be used for 1.6 alpha testing.  All other use
-# require explicit permission from Secret Labs AB.
-#
 # Portions of this engine have been developed in cooperation with
 # CNRI.  Hewlett-Packard provided funding for 1.6 integration and
 # other compatibility work.
index c9969609f203b8335f24dae621020359d8e2a4b9..1c9810fbcf02af40b6c963a865a5eb2a927122a1 100644 (file)
@@ -7,9 +7,6 @@
 #
 # Copyright (c) 1998-2000 by Secret Labs AB.  All rights reserved.
 #
-# This code can only be used for 1.6 alpha testing.  All other use
-# require explicit permission from Secret Labs AB.
-#
 # Portions of this engine have been developed in cooperation with
 # CNRI.  Hewlett-Packard provided funding for 1.6 integration and
 # other compatibility work.
index af6c6e1a518b202d26c2ad5fd512ffd0cb3fa430..dfe7c31eec044fdebdbe7dd13d151f594e274cd4 100644 (file)
@@ -6,9 +6,6 @@
 #
 # Copyright (c) 1998-2000 by Secret Labs AB.  All rights reserved.
 #
-# This code can only be used for 1.6 alpha testing.  All other use
-# require explicit permission from Secret Labs AB.
-#
 # Portions of this engine have been developed in cooperation with
 # CNRI.  Hewlett-Packard provided funding for 1.6 integration and
 # other compatibility work.
@@ -20,21 +17,18 @@ import _sre
 
 from sre_constants import *
 
-# FIXME: <fl> should be 65535, but the array module currently chokes
-# on unsigned integers larger than 32767 [fixed in 1.6b1?]
-MAXREPEAT = int(2L**(_sre.getcodesize()*8-1))-1
+# FIXME: should be 65535, but the arraymodule is still broken
+MAXREPEAT = 32767
 
 SPECIAL_CHARS = ".\\[{()*+?^$|"
 REPEAT_CHARS  = "*+?{"
 
-# FIXME: <fl> string in tuple tests may explode with if char is
-# unicode [fixed in 1.6b1?]
-DIGITS = tuple(string.digits)
+DIGITS = string.digits
 
-OCTDIGITS = tuple("01234567")
-HEXDIGITS = tuple("0123456789abcdefABCDEF")
+OCTDIGITS = "01234567"
+HEXDIGITS = "0123456789abcdefABCDEF"
 
-WHITESPACE = tuple(string.whitespace)
+WHITESPACE = string.whitespace
 
 ESCAPES = {
     "\\a": (LITERAL, chr(7)),
@@ -194,13 +188,13 @@ def _class_escape(source, escape):
        return code
     try:
        if escape[1:2] == "x":
-           while source.next in HEXDIGITS:
+           while source.next and source.next in HEXDIGITS:
                escape = escape + source.get()
            escape = escape[2:]
            # FIXME: support unicode characters!
            return LITERAL, chr(int(escape[-4:], 16) & 0xff)
        elif str(escape[1:2]) in OCTDIGITS:
-           while source.next in OCTDIGITS:
+           while source.next and source.next in OCTDIGITS:
                escape = escape + source.get()
            escape = escape[1:]
            # FIXME: support unicode characters!
@@ -221,7 +215,7 @@ def _escape(source, escape, state):
        return code
     try:
        if escape[1:2] == "x":
-           while source.next in HEXDIGITS:
+           while source.next and source.next in HEXDIGITS:
                escape = escape + source.get()
            escape = escape[2:]
            # FIXME: support unicode characters!
@@ -234,7 +228,7 @@ def _escape(source, escape, state):
                        not _group(escape + source.next, state)):
                        return GROUP, group
                    escape = escape + source.get()
-               elif source.next in OCTDIGITS:
+               elif source.next and source.next in OCTDIGITS:
                    escape = escape + source.get()
                else:
                    break
@@ -297,7 +291,7 @@ def _parse(source, state, flags=0):
 
     while 1:
 
-       if str(source.next) in ("|", ")"):
+       if source.next in ("|", ")"):
            break # end of subpattern
        this = source.get()
        if this is None:
@@ -378,10 +372,10 @@ def _parse(source, state, flags=0):
            elif this == "{":
                min, max = 0, MAXREPEAT
                lo = hi = ""
-               while str(source.next) in DIGITS:
+               while source.next and source.next in DIGITS:
                    lo = lo + source.get()
                if source.match(","):
-                   while str(source.next) in DIGITS:
+                   while source.next and source.next in DIGITS:
                        hi = hi + source.get()
                else:
                    hi = lo
@@ -571,30 +565,3 @@ def expand_template(template, match):
                raise error, "empty group"
            a(s)
     return match.string[:0].join(p)
-
-if __name__ == "__main__":
-    from pprint import pprint
-    from testpatterns import PATTERNS
-    a = b = c = 0
-    for pattern, flags in PATTERNS:
-       if flags:
-           continue
-       print "-"*68
-       try:
-           p = parse(pattern)
-           print repr(pattern), "->"
-           pprint(p.data)
-           import sre_compile
-           try:
-               code = sre_compile.compile(p)
-               c = c + 1
-           except:
-               pass
-           a = a + 1
-       except error, v:
-           print "**", repr(pattern), v
-       b = b + 1
-    print "-"*68
-    print a, "of", b, "patterns successfully parsed"
-    print c, "of", b, "patterns successfully compiled"
-
index cd28711abff70a3683b6c68dbcad902364f7a993..90fd5f45dd80970c1c2046c9db59b14988b8081f 100644 (file)
@@ -3,7 +3,7 @@
  * Secret Labs' Regular Expression Engine
  * $Id$
  *
-n * simple regular expression matching engine
+ * regular expression matching engine
  *
  * partial history:
  * 99-10-24 fl created (based on existing template matcher code)
@@ -22,20 +22,11 @@ n * simple regular expression matching engine
  *
  * Copyright (c) 1997-2000 by Secret Labs AB.  All rights reserved.
  *
- * This code can only be used for 1.6 alpha testing.  All other use
- * require explicit permission from Secret Labs AB.
- *
  * Portions of this engine have been developed in cooperation with
  * CNRI.  Hewlett-Packard provided funding for 1.6 integration and
  * other compatibility work.
  */
 
-/*
- * FIXME: repeated groups don't work (they're usually come out empty)
- * FIXME: rename to 're'
- * FIXME: enable repeat_one optimization
- */   
-
 #ifndef SRE_RECURSIVE
 
 static char