equal
  deleted
  inserted
  replaced
  
    
    
|      1 #!/usr/bin/env python |      1 #!/usr/bin/env python | 
|      2 import re |      2 import re | 
|      3 import sys |      3 import sys | 
|      4  |      4  | 
|      5 # case of catastrophic backtracking in Python |      5 # A case of catastrophic backtracking in Python | 
|      6 # |      6 # | 
|      7 # regex: (a?){n} a{n} |      7 # regex: (a?){n} a{n} | 
|      8 # strings: aa... |      8 # strings: aa... | 
|      9 # |      9 # | 
|         |     10 # call with: | 
|         |     11 # | 
|         |     12 #   > ./catastrophic.py 20 | 
|         |     13 # | 
|         |     14 # or | 
|         |     15 # | 
|         |     16 #   > ./catastrophic.py 28 | 
|         |     17 # | 
|         |     18 # | 
|     10 # call with timing as: |     19 # call with timing as: | 
|     11 # |     20 # | 
|     12 #   > time ./catastrophic.py 20 |     21 #   > time ./catastrophic.py 20 | 
|         |     22  | 
|         |     23  | 
|     13  |     24  | 
|     14 # counter n given on the command line |     25 # counter n given on the command line | 
|     15 cn = sys.argv[1] |     26 cn = sys.argv[1] | 
|     16  |     27  | 
|     17 # constructing the regex |     28 # constructing the regex |