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: