summaryrefslogtreecommitdiff
path: root/numpy/f2py
diff options
context:
space:
mode:
authorTyler Reddy <tyler.je.reddy@gmail.com>2020-12-28 11:00:03 -0700
committerTyler Reddy <tyler.je.reddy@gmail.com>2020-12-28 11:00:03 -0700
commite63001a5701da3c3c1ac29c9e4bbe225f062a653 (patch)
tree8ad8ab2607a05f121998836d1c529cb5c974c3ff /numpy/f2py
parenteb66994093be5b57324580cf389b0ec1b41e9e1f (diff)
downloadnumpy-e63001a5701da3c3c1ac29c9e4bbe225f062a653.tar.gz
MAINT: regex char class improve
* replace superfluous single-character regex character classes with their literal string equivalents; this avoids the overhead associated with a character class when there's only a single character enclosed (so there's no benefit to the class overhead) * for more information see: Chapter 6 of: Friedl, Jeffrey. Mastering Regular Expressions. 3rd ed., O’Reilly Media, 2009.
Diffstat (limited to 'numpy/f2py')
-rwxr-xr-xnumpy/f2py/crackfortran.py10
-rwxr-xr-xnumpy/f2py/f2py2e.py4
2 files changed, 7 insertions, 7 deletions
diff --git a/numpy/f2py/crackfortran.py b/numpy/f2py/crackfortran.py
index ab15bc09b..3d4dffde9 100755
--- a/numpy/f2py/crackfortran.py
+++ b/numpy/f2py/crackfortran.py
@@ -294,10 +294,10 @@ def getextension(name):
return ''
return name[i + 1:]
-is_f_file = re.compile(r'.*[.](for|ftn|f77|f)\Z', re.I).match
-_has_f_header = re.compile(r'-[*]-\s*fortran\s*-[*]-', re.I).search
-_has_f90_header = re.compile(r'-[*]-\s*f90\s*-[*]-', re.I).search
-_has_fix_header = re.compile(r'-[*]-\s*fix\s*-[*]-', re.I).search
+is_f_file = re.compile(r'.*\.(for|ftn|f77|f)\Z', re.I).match
+_has_f_header = re.compile(r'-\*-\s*fortran\s*-\*-', re.I).search
+_has_f90_header = re.compile(r'-\*-\s*f90\s*-\*-', re.I).search
+_has_fix_header = re.compile(r'-\*-\s*fix\s*-\*-', re.I).search
_free_f90_start = re.compile(r'[^c*]\s*[^\s\d\t]', re.I).match
@@ -1482,7 +1482,7 @@ def cracktypespec0(typespec, ll):
ll = ll[i + 2:]
return typespec, selector, attr, ll
#####
-namepattern = re.compile(r'\s*(?P<name>\b[\w]+\b)\s*(?P<after>.*)\s*\Z', re.I)
+namepattern = re.compile(r'\s*(?P<name>\b\w+\b)\s*(?P<after>.*)\s*\Z', re.I)
kindselector = re.compile(
r'\s*(\(\s*(kind\s*=)?\s*(?P<kind>.*)\s*\)|[*]\s*(?P<kind2>.*?))\s*\Z', re.I)
charselector = re.compile(
diff --git a/numpy/f2py/f2py2e.py b/numpy/f2py/f2py2e.py
index b45d985aa..1b922ea90 100755
--- a/numpy/f2py/f2py2e.py
+++ b/numpy/f2py/f2py2e.py
@@ -511,7 +511,7 @@ def run_compile():
remove_build_dir = 1
build_dir = tempfile.mkdtemp()
- _reg1 = re.compile(r'[-][-]link[-]')
+ _reg1 = re.compile(r'--link-')
sysinfo_flags = [_m for _m in sys.argv[1:] if _reg1.match(_m)]
sys.argv = [_m for _m in sys.argv if _m not in sysinfo_flags]
if sysinfo_flags:
@@ -569,7 +569,7 @@ def run_compile():
del flib_flags[i]
assert len(flib_flags) <= 2, repr(flib_flags)
- _reg5 = re.compile(r'[-][-](verbose)')
+ _reg5 = re.compile(r'--(verbose)')
setup_flags = [_m for _m in sys.argv[1:] if _reg5.match(_m)]
sys.argv = [_m for _m in sys.argv if _m not in setup_flags]