summaryrefslogtreecommitdiffstats
path: root/BaseTools/Source
diff options
context:
space:
mode:
authorCarsey, Jaben </o=Intel/ou=Americas01/cn=Workers/cn=Carsey, Jaben>2018-03-29 00:04:57 +0800
committerYonghong Zhu <yonghong.zhu@intel.com>2018-03-29 08:34:09 +0800
commit4d603daa3a2276d98ac6749d1db8e327ff7c1f5f (patch)
tree46a6bc97068424e89dd27b5e0d8b1ad9917087d8 /BaseTools/Source
parent27f44846ac20f2d87ee4a6512b7d714327ad201f (diff)
downloadedk2-4d603daa3a2276d98ac6749d1db8e327ff7c1f5f.tar.gz
edk2-4d603daa3a2276d98ac6749d1db8e327ff7c1f5f.tar.bz2
edk2-4d603daa3a2276d98ac6749d1db8e327ff7c1f5f.zip
BaseTools: FdfParser and FdfParserLite share reg exp
FdfParser can share regular expression from FdfParserLite. reduce overlap and reduce recompile of the same expression. v2: fix missed replacement of Pattern with shared variable Cc: Yonghong Zhu <yonghong.zhu@intel.com> Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Jaben Carsey <jaben.carsey@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
Diffstat (limited to 'BaseTools/Source')
-rw-r--r--BaseTools/Source/Python/Common/FdfParserLite.py5
-rw-r--r--BaseTools/Source/Python/GenFds/FdfParser.py4
2 files changed, 5 insertions, 4 deletions
diff --git a/BaseTools/Source/Python/Common/FdfParserLite.py b/BaseTools/Source/Python/Common/FdfParserLite.py
index df287414db..806fdd8aa5 100644
--- a/BaseTools/Source/Python/Common/FdfParserLite.py
+++ b/BaseTools/Source/Python/Common/FdfParserLite.py
@@ -47,6 +47,8 @@ InputMacroDict = {}
# All Macro values when parsing file, not replace existing Macro
AllMacroList = []
+FileExtensionPattern = re.compile(r'([a-zA-Z][a-zA-Z0-9]*)')
+
def GetRealFileLine (File, Line):
InsertedLines = 0
@@ -2842,8 +2844,7 @@ class FdfParser(object):
Ext = ""
if self.__GetNextToken():
- Pattern = re.compile(r'([a-zA-Z][a-zA-Z0-9]*)')
- if Pattern.match(self.__Token):
+ if FileExtensionPattern.match(self.__Token):
Ext = self.__Token
return '.' + Ext
else:
diff --git a/BaseTools/Source/Python/GenFds/FdfParser.py b/BaseTools/Source/Python/GenFds/FdfParser.py
index e35057931f..08429cd72a 100644
--- a/BaseTools/Source/Python/GenFds/FdfParser.py
+++ b/BaseTools/Source/Python/GenFds/FdfParser.py
@@ -60,6 +60,7 @@ from Common.LongFilePathSupport import OpenLongFilePath as open
from Capsule import EFI_CERT_TYPE_PKCS7_GUID
from Capsule import EFI_CERT_TYPE_RSA2048_SHA256_GUID
from Common.RangeExpression import RangeExpression
+from Common.FdfParserLite import FileExtensionPattern
##define T_CHAR_SPACE ' '
##define T_CHAR_NULL '\0'
@@ -3691,8 +3692,7 @@ class FdfParser:
Ext = ""
if self.__GetNextToken():
- Pattern = re.compile(r'([a-zA-Z][a-zA-Z0-9]*)')
- if Pattern.match(self.__Token):
+ if FileExtensionPattern.match(self.__Token):
Ext = self.__Token
return '.' + Ext
else: