BaseTools: remove local hex number regular expression
authorCarsey, Jaben </o=Intel/ou=Americas01/cn=Workers/cn=Carsey, Jaben>
Fri, 16 Mar 2018 23:27:46 +0000 (07:27 +0800)
committerYonghong Zhu <yonghong.zhu@intel.com>
Thu, 29 Mar 2018 08:26:38 +0000 (16:26 +0800)
Change to using the new shared hex number regular 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>
BaseTools/Source/Python/Common/Expression.py
BaseTools/Source/Python/Common/RangeExpression.py

index 287dddfbbc7ce4f21ecb64a27b8ec010883e49f5..683604cab5d3a9a83089522e2f9d23d0d4156a9f 100644 (file)
@@ -213,7 +213,6 @@ class ValueExpression(object):
     NonLetterOpLst = ['+', '-', '*', '/', '%', '&', '|', '^', '~', '<<', '>>', '!', '=', '>', '<', '?', ':']\r
 \r
     PcdPattern = re.compile(r'[_a-zA-Z][0-9A-Za-z_]*\.[_a-zA-Z][0-9A-Za-z_]*$')\r
-    HexPattern = re.compile(r'0[xX][0-9a-fA-F]+$')\r
 \r
     SymbolPattern = re.compile("("\r
                                  "\$\([A-Z][A-Z0-9_]*\)|\$\(\w+\.\w+\)|\w+\.\w+|"\r
@@ -665,7 +664,7 @@ class ValueExpression(object):
             self._LiteralToken.endswith('}'):\r
             return True\r
 \r
-        if self.HexPattern.match(self._LiteralToken):\r
+        if gHexPattern.match(self._LiteralToken):\r
             Token = self._LiteralToken[2:]\r
             if not Token:\r
                 self._LiteralToken = '0x0'\r
index 540f95728072b8b8666e56e0eff757ae11753104..5fcc8a432a565a2bc88947175fc03769f45ff60c 100644 (file)
@@ -210,7 +210,6 @@ class RangeExpression(object):
     NonLetterOpLst = ['+', '-', '&', '|', '^', '!', '=', '>', '<']\r
 \r
     PcdPattern = re.compile(r'[_a-zA-Z][0-9A-Za-z_]*\.[_a-zA-Z][0-9A-Za-z_]*$')\r
-    HexPattern = re.compile(r'0[xX][0-9a-fA-F]+')\r
     \r
     RangePattern = re.compile(r'[0-9]+ - [0-9]+')\r
 \r
@@ -219,7 +218,7 @@ class RangeExpression(object):
         # convert interval to object index. ex. 1 - 10 to a GUID\r
         expr = expr.strip()\r
         NumberDict = {}\r
-        for HexNumber in self.HexPattern.findall(expr):\r
+        for HexNumber in gHexPattern.findall(expr):\r
             Number = str(int(HexNumber, 16))\r
             NumberDict[HexNumber] = Number\r
         for HexNum in NumberDict:\r
@@ -624,7 +623,7 @@ class RangeExpression(object):
             self._LiteralToken.endswith('}'):\r
             return True\r
 \r
-        if self.HexPattern.match(self._LiteralToken):\r
+        if gHexPattern.match(self._LiteralToken):\r
             Token = self._LiteralToken[2:]\r
             Token = Token.lstrip('0')\r
             if not Token:\r