summaryrefslogtreecommitdiffstats
path: root/BaseTools/Source/Python
diff options
context:
space:
mode:
authorCarsey, Jaben </o=Intel/ou=Americas01/cn=Workers/cn=Carsey, Jaben>2018-03-17 07:27:41 +0800
committerYonghong Zhu <yonghong.zhu@intel.com>2018-03-29 16:18:29 +0800
commitb1a9e404d4e91729b99d690fa849451269dd3a47 (patch)
tree458554d97d077c8565de6e04a751314cc8bb42e8 /BaseTools/Source/Python
parent709c9fd56b2a3303e679858a4927e382f255d8e4 (diff)
downloadedk2-b1a9e404d4e91729b99d690fa849451269dd3a47.tar.gz
edk2-b1a9e404d4e91729b99d690fa849451269dd3a47.tar.bz2
edk2-b1a9e404d4e91729b99d690fa849451269dd3a47.zip
BaseTools: use new shared GUID regular expressions
remove local variables that are GUID matching and replace with shared expression. 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/Python')
-rw-r--r--BaseTools/Source/Python/Common/Expression.py3
-rw-r--r--BaseTools/Source/Python/Common/FdfParserLite.py3
-rw-r--r--BaseTools/Source/Python/Common/RangeExpression.py12
-rw-r--r--BaseTools/Source/Python/GenFds/FdfParser.py2
4 files changed, 9 insertions, 11 deletions
diff --git a/BaseTools/Source/Python/Common/Expression.py b/BaseTools/Source/Python/Common/Expression.py
index 4f0f377f37..287dddfbbc 100644
--- a/BaseTools/Source/Python/Common/Expression.py
+++ b/BaseTools/Source/Python/Common/Expression.py
@@ -214,7 +214,6 @@ class ValueExpression(object):
PcdPattern = re.compile(r'[_a-zA-Z][0-9A-Za-z_]*\.[_a-zA-Z][0-9A-Za-z_]*$')
HexPattern = re.compile(r'0[xX][0-9a-fA-F]+$')
- RegGuidPattern = re.compile(r'[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}')
SymbolPattern = re.compile("("
"\$\([A-Z][A-Z0-9_]*\)|\$\(\w+\.\w+\)|\w+\.\w+|"
@@ -725,7 +724,7 @@ class ValueExpression(object):
self._Token = ''
if Expr:
Ch = Expr[0]
- Match = self.RegGuidPattern.match(Expr)
+ Match = gGuidPattern.match(Expr)
if Match and not Expr[Match.end():Match.end()+1].isalnum() \
and Expr[Match.end():Match.end()+1] != '_':
self._Idx += Match.end()
diff --git a/BaseTools/Source/Python/Common/FdfParserLite.py b/BaseTools/Source/Python/Common/FdfParserLite.py
index 806fdd8aa5..b7b5e21a9e 100644
--- a/BaseTools/Source/Python/Common/FdfParserLite.py
+++ b/BaseTools/Source/Python/Common/FdfParserLite.py
@@ -22,6 +22,7 @@ import CommonDataClass.FdfClass
from Common.LongFilePathSupport import OpenLongFilePath as open
from Common.MultipleWorkspace import MultipleWorkspace as mws
from Common.RangeExpression import RangeExpression
+from Common.GlobalData import *
##define T_CHAR_SPACE ' '
##define T_CHAR_NULL '\0'
@@ -934,7 +935,7 @@ class FdfParser(object):
if not self.__GetNextToken():
return False
- if RangeExpression.RegGuidPattern.match(self.__Token) != None:
+ if gGuidPattern.match(self.__Token) != None:
return True
else:
self.__UndoToken()
diff --git a/BaseTools/Source/Python/Common/RangeExpression.py b/BaseTools/Source/Python/Common/RangeExpression.py
index 3449711dcc..540f957280 100644
--- a/BaseTools/Source/Python/Common/RangeExpression.py
+++ b/BaseTools/Source/Python/Common/RangeExpression.py
@@ -211,8 +211,6 @@ class RangeExpression(object):
PcdPattern = re.compile(r'[_a-zA-Z][0-9A-Za-z_]*\.[_a-zA-Z][0-9A-Za-z_]*$')
HexPattern = re.compile(r'0[xX][0-9a-fA-F]+')
- RegGuidPattern = re.compile(r'[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}')
- ExRegGuidPattern = re.compile(r'[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$')
RangePattern = re.compile(r'[0-9]+ - [0-9]+')
@@ -341,18 +339,18 @@ class RangeExpression(object):
def Eval(self, Operator, Oprand1, Oprand2 = None):
if Operator in ["!", "NOT", "not"]:
- if not self.RegGuidPattern.match(Oprand1.strip()):
+ if not gGuidPattern.match(Oprand1.strip()):
raise BadExpression(ERR_STRING_EXPR % Operator)
return self.NegtiveRange(Oprand1)
else:
if Operator in ["==", ">=", "<=", ">", "<", '^']:
return self.EvalRange(Operator, Oprand1)
elif Operator == 'and' :
- if not self.ExRegGuidPattern.match(Oprand1.strip()) or not self.ExRegGuidPattern.match(Oprand2.strip()):
+ if not gGuidPatternEnd.match(Oprand1.strip()) or not gGuidPatternEnd.match(Oprand2.strip()):
raise BadExpression(ERR_STRING_EXPR % Operator)
return self.Rangeintersection(Oprand1, Oprand2)
elif Operator == 'or':
- if not self.ExRegGuidPattern.match(Oprand1.strip()) or not self.ExRegGuidPattern.match(Oprand2.strip()):
+ if not gGuidPatternEnd.match(Oprand1.strip()) or not gGuidPatternEnd.match(Oprand2.strip()):
raise BadExpression(ERR_STRING_EXPR % Operator)
return self.Rangecollections(Oprand1, Oprand2)
else:
@@ -410,7 +408,7 @@ class RangeExpression(object):
# check if the expression does not need to evaluate
if RealValue and Depth == 0:
self._Token = self._Expr
- if self.ExRegGuidPattern.match(self._Expr):
+ if gGuidPatternEnd.match(self._Expr):
return [self.operanddict[self._Expr] ]
self._Idx = 0
@@ -657,7 +655,7 @@ class RangeExpression(object):
self._Token = ''
if Expr:
Ch = Expr[0]
- Match = self.RegGuidPattern.match(Expr)
+ Match = gGuidPattern.match(Expr)
if Match and not Expr[Match.end():Match.end() + 1].isalnum() \
and Expr[Match.end():Match.end() + 1] != '_':
self._Idx += Match.end()
diff --git a/BaseTools/Source/Python/GenFds/FdfParser.py b/BaseTools/Source/Python/GenFds/FdfParser.py
index 08429cd72a..9903e9570c 100644
--- a/BaseTools/Source/Python/GenFds/FdfParser.py
+++ b/BaseTools/Source/Python/GenFds/FdfParser.py
@@ -1136,7 +1136,7 @@ class FdfParser:
if not self.__GetNextToken():
return False
- if RangeExpression.RegGuidPattern.match(self.__Token) != None:
+ if gGuidPattern.match(self.__Token) != None:
return True
else:
self.__UndoToken()