diff options
| author | Martin Panter <vadmium+py@gmail.com> | 2016-09-11 09:48:57 (GMT) |
|---|---|---|
| committer | Martin Panter <vadmium+py@gmail.com> | 2016-09-11 09:48:57 (GMT) |
| commit | 8f7d36ba9aff1148eac3a517b6a4c07eb4352536 (patch) | |
| tree | d63dd93306d18b15903e0183d6f160a032efd7b7 /Tools/scripts/fixcid.py | |
| parent | 0b5f22d371c6220b1a2e7d0f084782e21b4fa6c4 (diff) | |
| download | cpython-8f7d36ba9aff1148eac3a517b6a4c07eb4352536.zip cpython-8f7d36ba9aff1148eac3a517b6a4c07eb4352536.tar.gz cpython-8f7d36ba9aff1148eac3a517b6a4c07eb4352536.tar.bz2 | |
Issue #27952: Get fixcid.py working with the re module
Diffstat (limited to 'Tools/scripts/fixcid.py')
| -rwxr-xr-x | Tools/scripts/fixcid.py | 30 |
1 files changed, 16 insertions, 14 deletions
diff --git a/Tools/scripts/fixcid.py b/Tools/scripts/fixcid.py index 58ec7ad..18b4342 100755 --- a/Tools/scripts/fixcid.py +++ b/Tools/scripts/fixcid.py @@ -88,9 +88,9 @@ def main(): sys.exit(bad) # Change this regular expression to select a different set of files -Wanted = '^[a-zA-Z0-9_]+\.[ch]$' +Wanted = r'^[a-zA-Z0-9_]+\.[ch]$' def wanted(name): - return re.match(Wanted, name) >= 0 + return re.match(Wanted, name) def recursedown(dirname): dbg('recursedown(%r)\n' % (dirname,)) @@ -168,6 +168,7 @@ def fix(filename): if filename == '-': return 0 # Done in filter mode f.close() if not g: return 0 # No changes + g.close() # Finishing touch -- move files @@ -193,21 +194,21 @@ def fix(filename): # Tokenizing ANSI C (partly) -Identifier = '\(struct \)?[a-zA-Z_][a-zA-Z0-9_]+' -String = '"\([^\n\\"]\|\\\\.\)*"' -Char = '\'\([^\n\\\']\|\\\\.\)*\'' -CommentStart = '/\*' -CommentEnd = '\*/' +Identifier = '(struct )?[a-zA-Z_][a-zA-Z0-9_]+' +String = r'"([^\n\\"]|\\.)*"' +Char = r"'([^\n\\']|\\.)*'" +CommentStart = r'/\*' +CommentEnd = r'\*/' Hexnumber = '0[xX][0-9a-fA-F]*[uUlL]*' Octnumber = '0[0-7]*[uUlL]*' Decnumber = '[1-9][0-9]*[uUlL]*' -Intnumber = Hexnumber + '\|' + Octnumber + '\|' + Decnumber +Intnumber = Hexnumber + '|' + Octnumber + '|' + Decnumber Exponent = '[eE][-+]?[0-9]+' -Pointfloat = '\([0-9]+\.[0-9]*\|\.[0-9]+\)\(' + Exponent + '\)?' +Pointfloat = r'([0-9]+\.[0-9]*|\.[0-9]+)(' + Exponent + r')?' Expfloat = '[0-9]+' + Exponent -Floatnumber = Pointfloat + '\|' + Expfloat -Number = Floatnumber + '\|' + Intnumber +Floatnumber = Pointfloat + '|' + Expfloat +Number = Floatnumber + '|' + Intnumber # Anything else is an operator -- don't list this explicitly because of '/*' @@ -228,9 +229,10 @@ def fixline(line): ## print '-->', repr(line) i = 0 while i < len(line): - i = Program.search(line, i) - if i < 0: break - found = Program.group(0) + match = Program.search(line, i) + if match is None: break + i = match.start() + found = match.group(0) ## if Program is InsideCommentProgram: print '...', ## else: print ' ', ## print found |
