]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/Python/Common/GlobalData.py
BaseTools: add GUID pattern to global data
[mirror_edk2.git] / BaseTools / Source / Python / Common / GlobalData.py
index f7d4d577f99400bb7eba1a88e961d126f983229b..4a85a8e0db63ccf5d26055bc012d0d657abbd156 100644 (file)
@@ -1,7 +1,7 @@
 ## @file\r
 # This file is used to define common static strings used by INF/DEC/DSC files\r
 #\r
-# Copyright (c) 2007 - 2016, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>\r
 # This program and the accompanying materials\r
 # are licensed and made available under the terms and conditions of the BSD License\r
 # which accompanies this distribution.  The full text of the license may be found at\r
@@ -43,12 +43,21 @@ gBuildingModule = ''
 gSkuids = []\r
 gDefaultStores = []\r
 \r
+# definition for a MACRO name.  used to create regular expressions below.\r
+_MacroNamePattern = "[A-Z][A-Z0-9_]*"\r
+\r
 ## Regular expression for matching macro used in DSC/DEC/INF file inclusion\r
-gMacroRefPattern = re.compile("\$\(([A-Z][_A-Z0-9]*)\)", re.UNICODE)\r
+gMacroRefPattern = re.compile("\$\(({})\)".format(_MacroNamePattern), re.UNICODE)\r
 gMacroDefPattern = re.compile("^(DEFINE|EDK_GLOBAL)[ \t]+")\r
-gMacroNamePattern = re.compile("^[A-Z][A-Z0-9_]*$")\r
-# C-style wide string pattern\r
-gWideStringPattern = re.compile('(\W|\A)L"')\r
+gMacroNamePattern = re.compile("^{}$".format(_MacroNamePattern))\r
+\r
+# definition for a GUID.  used to create regular expressions below.\r
+_GuidPattern = 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}"\r
+\r
+## Regular expressions for GUID matching\r
+gGuidPattern = re.compile(r'{}'.format(_GuidPattern))\r
+gGuidPatternEnd = re.compile(r'{}$'.format(_GuidPattern))\r
+\r
 #\r
 # A global variable for whether current build in AutoGen phase or not.\r
 #\r