]> git.proxmox.com Git - mirror_edk2.git/commitdiff
BaseTools: move RegEx to root of file and share it
authorCarsey, Jaben </o=Intel/ou=Americas01/cn=Workers/cn=Carsey, Jaben>
Wed, 4 Apr 2018 20:56:55 +0000 (04:56 +0800)
committerYonghong Zhu <yonghong.zhu@intel.com>
Sun, 8 Apr 2018 08:33:03 +0000 (16:33 +0800)
make it easy to import and use by others

Cc: Liming Gao <liming.gao@intel.com>
Cc: Yonghong Zhu <yonghong.zhu@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 320f0015009b3c28e16562cda31116b179597e8d..462e8f93f883e3d765ccf4fefac02ff1e849bd6b 100644 (file)
@@ -43,6 +43,7 @@ ERR_IN_OPERAND          = 'Macro after IN operator can only be: $(FAMILY), $(ARC
 __ValidString = re.compile(r'[_a-zA-Z][_0-9a-zA-Z]*$')\r
 _ReLabel = re.compile('LABEL\((\w+)\)')\r
 _ReOffset = re.compile('OFFSET_OF\((\w+)\)')\r
+PcdPattern = re.compile(r'[_a-zA-Z][0-9A-Za-z_]*\.[_a-zA-Z][0-9A-Za-z_]*$')\r
 \r
 ## SplitString\r
 #  Split string to list according double quote\r
@@ -214,7 +215,6 @@ class ValueExpression(object):
 \r
     NonLetterOpLst = ['+', '-', '*', '/', '%', '&', '|', '^', '~', '<<', '>>', '!', '=', '>', '<', '?', ':']\r
 \r
-    PcdPattern = re.compile(r'[_a-zA-Z][0-9A-Za-z_]*\.[_a-zA-Z][0-9A-Za-z_]*$')\r
 \r
     SymbolPattern = re.compile("("\r
                                  "\$\([A-Z][A-Z0-9_]*\)|\$\(\w+\.\w+\)|\w+\.\w+|"\r
@@ -616,7 +616,7 @@ class ValueExpression(object):
             raise BadExpression(ERR_EMPTY_TOKEN)\r
 \r
         # PCD token\r
-        if self.PcdPattern.match(self._Token):\r
+        if PcdPattern.match(self._Token):\r
             if self._Token not in self._Symb:\r
                 Ex = BadExpression(ERR_PCD_RESOLVE % self._Token)\r
                 Ex.Pcd = self._Token\r
index 5fcc8a432a565a2bc88947175fc03769f45ff60c..5ee59184e66e2d1329967ec4921d5ce152731195 100644 (file)
@@ -16,6 +16,7 @@ from Common.GlobalData import *
 from CommonDataClass.Exceptions import BadExpression\r
 from CommonDataClass.Exceptions import WrnExpression\r
 import uuid\r
+from Common.Expression import PcdPattern\r
 \r
 ERR_STRING_EXPR = 'This operator cannot be used in string expression: [%s].'\r
 ERR_SNYTAX = 'Syntax error, the rest of expression cannot be evaluated: [%s].'\r
@@ -209,8 +210,6 @@ class RangeExpression(object):
 \r
     NonLetterOpLst = ['+', '-', '&', '|', '^', '!', '=', '>', '<']\r
 \r
-    PcdPattern = re.compile(r'[_a-zA-Z][0-9A-Za-z_]*\.[_a-zA-Z][0-9A-Za-z_]*$')\r
-    \r
     RangePattern = re.compile(r'[0-9]+ - [0-9]+')\r
 \r
     def preProcessRangeExpr(self, expr):\r
@@ -573,7 +572,7 @@ class RangeExpression(object):
             raise BadExpression(ERR_EMPTY_TOKEN)\r
 \r
         # PCD token\r
-        if self.PcdPattern.match(self._Token):\r
+        if PcdPattern.match(self._Token):\r
             if self._Token not in self._Symb:\r
                 Ex = BadExpression(ERR_PCD_RESOLVE % self._Token)\r
                 Ex.Pcd = self._Token\r