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>
This commit is contained in:
Carsey, Jaben 2018-03-29 00:04:57 +08:00 committed by Yonghong Zhu
parent 27f44846ac
commit 4d603daa3a
2 changed files with 5 additions and 4 deletions

View File

@ -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:

View File

@ -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: