From nobody Mon Dec 23 07:00:36 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; spf=none (zoho.com: 198.145.21.10 is neither permitted nor denied by domain of lists.01.org) smtp.mailfrom=edk2-devel-bounces@lists.01.org Return-Path: Received: from ml01.01.org (ml01.01.org [198.145.21.10]) by mx.zohomail.com with SMTPS id 1521242882502512.6731033643246; Fri, 16 Mar 2018 16:28:02 -0700 (PDT) Received: from [127.0.0.1] (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id 5A9A222571B2E; Fri, 16 Mar 2018 16:21:27 -0700 (PDT) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id D74FA22468034 for ; Fri, 16 Mar 2018 16:21:23 -0700 (PDT) Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga102.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 16 Mar 2018 16:27:48 -0700 Received: from jcarsey-desk1.amr.corp.intel.com ([10.7.159.144]) by orsmga001.jf.intel.com with ESMTP; 16 Mar 2018 16:27:48 -0700 X-Original-To: edk2-devel@lists.01.org Received-SPF: none (zoho.com: 198.145.21.10 is neither permitted nor denied by domain of lists.01.org) client-ip=198.145.21.10; envelope-from=edk2-devel-bounces@lists.01.org; helo=ml01.01.org; Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=192.55.52.93; helo=mga11.intel.com; envelope-from=jaben.carsey@intel.com; receiver=edk2-devel@lists.01.org X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.48,318,1517904000"; d="scan'208";a="39650830" From: Jaben Carsey To: edk2-devel@lists.01.org Date: Fri, 16 Mar 2018 16:27:41 -0700 Message-Id: X-Mailer: git-send-email 2.16.2.windows.1 In-Reply-To: References: In-Reply-To: References: Subject: [edk2] [PATCH v1 4/9] BaseTools: use new shared GUID regular expressions X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Liming Gao MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Errors-To: edk2-devel-bounces@lists.01.org Sender: "edk2-devel" X-ZohoMail: RSF_4 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" remove local variables that are GUID matching and replace with shared expression. Cc: Yonghong Zhu Cc: Liming Gao Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Jaben Carsey --- BaseTools/Source/Python/Common/Expression.py | 3 +-- BaseTools/Source/Python/Common/FdfParserLite.py | 5 ++--- BaseTools/Source/Python/Common/RangeExpression.py | 14 ++++++-------- BaseTools/Source/Python/GenFds/FdfParser.py | 3 +-- 4 files changed, 10 insertions(+), 15 deletions(-) diff --git a/BaseTools/Source/Python/Common/Expression.py b/BaseTools/Sourc= e/Python/Common/Expression.py index e76f09c367c1..c69c3cb1e84a 100644 --- a/BaseTools/Source/Python/Common/Expression.py +++ b/BaseTools/Source/Python/Common/Expression.py @@ -220,7 +220,6 @@ class ValueExpression(object): =20 PcdPattern =3D re.compile(r'[_a-zA-Z][0-9A-Za-z_]*\.[_a-zA-Z][0-9A-Za-= z_]*$') HexPattern =3D re.compile(r'0[xX][0-9a-fA-F]+$') - RegGuidPattern =3D 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}') =20 SymbolPattern =3D re.compile("(" "\$\([A-Z][A-Z0-9_]*\)|\$\(\w+\.\w+\)|\w+= \.\w+|" @@ -731,7 +730,7 @@ class ValueExpression(object): self._Token =3D '' if Expr: Ch =3D Expr[0] - Match =3D self.RegGuidPattern.match(Expr) + Match =3D gGuidPattern.match(Expr) if Match and not Expr[Match.end():Match.end()+1].isalnum() \ and Expr[Match.end():Match.end()+1] !=3D '_': self._Idx +=3D Match.end() diff --git a/BaseTools/Source/Python/Common/FdfParserLite.py b/BaseTools/So= urce/Python/Common/FdfParserLite.py index 330422ad59d2..773f3b1a708f 100644 --- a/BaseTools/Source/Python/Common/FdfParserLite.py +++ b/BaseTools/Source/Python/Common/FdfParserLite.py @@ -1,7 +1,7 @@ ## @file # parse FDF file # -# Copyright (c) 2007 - 2017, Intel Corporation. All rights reserved.
+# Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.
# # This program and the accompanying materials # are licensed and made available under the terms and conditions of the B= SD License @@ -933,8 +933,7 @@ class FdfParser(object): =20 if not self.__GetNextToken(): return False - p =3D re.compile('[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-= fA-F0-9]{4}-[a-fA-F0-9]{12}') - if p.match(self.__Token) !=3D None: + if gGuidPattern.match(self.__Token) !=3D None: return True else: self.__UndoToken() diff --git a/BaseTools/Source/Python/Common/RangeExpression.py b/BaseTools/= Source/Python/Common/RangeExpression.py index b6c929fd885b..bbcbd6b767e0 100644 --- a/BaseTools/Source/Python/Common/RangeExpression.py +++ b/BaseTools/Source/Python/Common/RangeExpression.py @@ -1,7 +1,7 @@ # # @file # This file is used to parse and evaluate range expression in Pcd declarat= ion. # -# Copyright (c) 2015, Intel Corporation. All rights reserved.
+# Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.
# This program and the accompanying materials # are licensed and made available under the terms and conditions of the BS= D License # which accompanies this distribution. The full text of the license may= be found at @@ -211,8 +211,6 @@ class RangeExpression(object): =20 PcdPattern =3D re.compile(r'[_a-zA-Z][0-9A-Za-z_]*\.[_a-zA-Z][0-9A-Za-= z_]*$') HexPattern =3D re.compile(r'0[xX][0-9a-fA-F]+') - RegGuidPattern =3D 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 =3D 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}$') =20 SymbolPattern =3D re.compile("(" "\$\([A-Z][A-Z0-9_]*\)|\$\(\w+\.\w+\)|\w+= \.\w+|" @@ -348,18 +346,18 @@ class RangeExpression(object): def Eval(self, Operator, Oprand1, Oprand2 =3D None): =20 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 ["=3D=3D", ">=3D", "<=3D", ">", "<", '^']: return self.EvalRange(Operator, Oprand1) elif Operator =3D=3D 'and' : - if not self.ExRegGuidPattern.match(Oprand1.strip()) or not= self.ExRegGuidPattern.match(Oprand2.strip()): + if not gGuidPatternEnd.match(Oprand1.strip()) or not gGuid= PatternEnd.match(Oprand2.strip()): raise BadExpression(ERR_STRING_EXPR % Operator) return self.Rangeintersection(Oprand1, Oprand2) =20 elif Operator =3D=3D 'or': - if not self.ExRegGuidPattern.match(Oprand1.strip()) or not= self.ExRegGuidPattern.match(Oprand2.strip()): + if not gGuidPatternEnd.match(Oprand1.strip()) or not gGuid= PatternEnd.match(Oprand2.strip()): raise BadExpression(ERR_STRING_EXPR % Operator) return self.Rangecollections(Oprand1, Oprand2) else: @@ -417,7 +415,7 @@ class RangeExpression(object): # check if the expression does not need to evaluate if RealValue and Depth =3D=3D 0: self._Token =3D self._Expr - if self.ExRegGuidPattern.match(self._Expr): + if gGuidPatternEnd.match(self._Expr): return [self.operanddict[self._Expr] ] =20 self._Idx =3D 0 @@ -664,7 +662,7 @@ class RangeExpression(object): self._Token =3D '' if Expr: Ch =3D Expr[0] - Match =3D self.RegGuidPattern.match(Expr) + Match =3D gGuidPattern.match(Expr) if Match and not Expr[Match.end():Match.end() + 1].isalnum() \ and Expr[Match.end():Match.end() + 1] !=3D '_': self._Idx +=3D Match.end() diff --git a/BaseTools/Source/Python/GenFds/FdfParser.py b/BaseTools/Source= /Python/GenFds/FdfParser.py index 03183e398bdb..b8be1251ef52 100644 --- a/BaseTools/Source/Python/GenFds/FdfParser.py +++ b/BaseTools/Source/Python/GenFds/FdfParser.py @@ -1150,8 +1150,7 @@ class FdfParser: =20 if not self.__GetNextToken(): return False - p =3D re.compile('[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-= fA-F0-9]{4}-[a-fA-F0-9]{12}') - if p.match(self.__Token) !=3D None: + if gGuidPattern.match(self.__Token) !=3D None: return True else: self.__UndoToken() --=20 2.16.2.windows.1 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel