use the same MACRO name definition across shared regular expression patterns.
Cc: Yonghong Zhu <[email protected]> Cc: Liming Gao <[email protected]> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Jaben Carsey <[email protected]> --- BaseTools/Source/Python/Common/GlobalData.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/BaseTools/Source/Python/Common/GlobalData.py b/BaseTools/Source/Python/Common/GlobalData.py index 8b36a1b77366..83ba3d19961a 100644 --- a/BaseTools/Source/Python/Common/GlobalData.py +++ b/BaseTools/Source/Python/Common/GlobalData.py @@ -1,7 +1,7 @@ ## @file # This file is used to define common static strings used by INF/DEC/DSC files # -# Copyright (c) 2007 - 2016, Intel Corporation. All rights reserved.<BR> +# Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR> # This program and the accompanying materials # are licensed and made available under the terms and conditions of the BSD License # which accompanies this distribution. The full text of the license may be found at @@ -43,10 +43,13 @@ gBuildingModule = '' gSkuids = [] gDefaultStores = [] +# definition for a MACRO name. used to create regular expressions below. +_MacroNamePattern = "[A-Z][A-Z0-9_]*" + ## Regular expression for matching macro used in DSC/DEC/INF file inclusion -gMacroRefPattern = re.compile("\$\(([A-Z][_A-Z0-9]*)\)", re.UNICODE) +gMacroRefPattern = re.compile("\$\(({})\)".format(_MacroNamePattern), re.UNICODE) gMacroDefPattern = re.compile("^(DEFINE|EDK_GLOBAL)[ \t]+") -gMacroNamePattern = re.compile("^[A-Z][A-Z0-9_]*$") +gMacroNamePattern = re.compile("^{}$".format(_MacroNamePattern)) # # A global variable for whether current build in AutoGen phase or not. -- 2.16.2.windows.1 _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

