From f7496d717357b9af78414d19679b073403812340 Mon Sep 17 00:00:00 2001 From: Liming Gao Date: Thu, 5 Jul 2018 17:40:04 +0800 Subject: BaseTools: Clean up source files 1. Do not use tab characters 2. No trailing white space in one line 3. All files must end with CRLF Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Liming Gao Cc: Yonghong Zhu Reviewed-by: Yonghong Zhu --- .../Python/UPT/Library/ExpressionValidate.py | 118 ++++++++++----------- 1 file changed, 59 insertions(+), 59 deletions(-) (limited to 'BaseTools/Source/Python/UPT/Library/ExpressionValidate.py') diff --git a/BaseTools/Source/Python/UPT/Library/ExpressionValidate.py b/BaseTools/Source/Python/UPT/Library/ExpressionValidate.py index afa5b2407e..2e0253ab51 100644 --- a/BaseTools/Source/Python/UPT/Library/ExpressionValidate.py +++ b/BaseTools/Source/Python/UPT/Library/ExpressionValidate.py @@ -1,11 +1,11 @@ ## @file # This file is used to check PCD logical expression # -# Copyright (c) 2011 - 2014, Intel Corporation. All rights reserved.
+# Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.
# -# 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 +# 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 # http://opensource.org/licenses/bsd-license.php # # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, @@ -47,7 +47,7 @@ def IsValidBareCString(String): and (IntChar < 0x23 or IntChar > 0x7e): return False PreChar = Char - + # Last char cannot be \ if PreChar is not \ if LastChar == '\\' and PreChar == LastChar: return False @@ -83,7 +83,7 @@ class _ExprBase: self.Token = Token self.Index = 0 self.Len = len(Token) - + ## SkipWhitespace # def SkipWhitespace(self): @@ -91,14 +91,14 @@ class _ExprBase: if Char not in ' \t': break self.Index += 1 - + ## IsCurrentOp # - # @param OpList: option list - # + # @param OpList: option list + # def IsCurrentOp(self, OpList): self.SkipWhitespace() - LetterOp = ["EQ", "NE", "GE", "LE", "GT", "LT", "NOT", "and", "AND", + LetterOp = ["EQ", "NE", "GE", "LE", "GT", "LT", "NOT", "and", "AND", "or", "OR", "XOR"] OpMap = { '|' : '|', @@ -107,11 +107,11 @@ class _ExprBase: '>' : '=', '<' : '=' } - + for Operator in OpList: if not self.Token[self.Index:].startswith(Operator): continue - + self.Index += len(Operator) Char = self.Token[self.Index : self.Index + 1] @@ -119,36 +119,36 @@ class _ExprBase: or (Operator in OpMap and OpMap[Operator] == Char): self.Index -= len(Operator) break - + return True - + return False ## _LogicalExpressionParser # # @param _ExprBase: _ExprBase object -# +# class _LogicalExpressionParser(_ExprBase): # # STRINGITEM can only be logical field according to spec # STRINGITEM = -1 - + # # Evaluate to True or False # LOGICAL = 0 REALLOGICAL = 2 - + # # Just arithmetic expression # ARITH = 1 - + def __init__(self, Token): _ExprBase.__init__(self, Token) self.Parens = 0 - + def _CheckToken(self, MatchList): for Match in MatchList: if Match and Match.start() == 0: @@ -156,7 +156,7 @@ class _LogicalExpressionParser(_ExprBase): self.Token[self.Index:self.Index+Match.end()] ): return False - + self.Index += Match.end() if self.Token[self.Index - 1] == '"': return True @@ -164,61 +164,61 @@ class _LogicalExpressionParser(_ExprBase): self.Token[self.Index:self.Index+1].isalnum(): self.Index -= Match.end() return False - + Token = self.Token[self.Index - Match.end():self.Index] if Token.strip() in ["EQ", "NE", "GE", "LE", "GT", "LT", "NOT", "and", "AND", "or", "OR", "XOR"]: self.Index -= Match.end() return False - + return True - + return False - + def IsAtomicNumVal(self): # # Hex number # Match1 = re.compile(self.HEX_PATTERN).match(self.Token[self.Index:]) - + # # Number # Match2 = re.compile(self.INT_PATTERN).match(self.Token[self.Index:]) - + # # Macro # Match3 = re.compile(self.MACRO_PATTERN).match(self.Token[self.Index:]) - + # # PcdName # Match4 = re.compile(self.PCD_PATTERN).match(self.Token[self.Index:]) - + return self._CheckToken([Match1, Match2, Match3, Match4]) - + def IsAtomicItem(self): # # Macro # Match1 = re.compile(self.MACRO_PATTERN).match(self.Token[self.Index:]) - + # # PcdName # Match2 = re.compile(self.PCD_PATTERN).match(self.Token[self.Index:]) - + # # Quoted string # Match3 = re.compile(self.QUOTED_PATTERN).\ match(self.Token[self.Index:].replace('\\\\', '//').\ replace('\\\"', '\\\'')) - + return self._CheckToken([Match1, Match2, Match3]) - + ## A || B # def LogicalExpression(self): @@ -233,12 +233,12 @@ class _LogicalExpressionParser(_ExprBase): raise _ExprError(ST.ERR_EXPR_LOGICAL % self.Token) Ret = self.REALLOGICAL return Ret - + def SpecNot(self): if self.IsCurrentOp(["NOT", "!", "not"]): return self.SpecNot() return self.Rel() - + ## A < B, A > B, A <= B, A >= B # def Rel(self): @@ -252,7 +252,7 @@ class _LogicalExpressionParser(_ExprBase): raise _ExprError(ST.ERR_EXPR_LOGICAL % self.Token) Ret = self.REALLOGICAL return Ret - + ## A + B, A - B # def Expr(self): @@ -269,7 +269,7 @@ class _LogicalExpressionParser(_ExprBase): return Ret ## Factor - # + # def Factor(self): if self.IsCurrentOp(["("]): self.Parens += 1 @@ -279,7 +279,7 @@ class _LogicalExpressionParser(_ExprBase): (self.Token, self.Token[self.Index:])) self.Parens -= 1 return Ret - + if self.IsAtomicItem(): if self.Token[self.Index - 1] == '"': return self.STRINGITEM @@ -289,7 +289,7 @@ class _LogicalExpressionParser(_ExprBase): else: raise _ExprError(ST.ERR_EXPR_FACTOR % \ (self.Token[self.Index:], self.Token)) - + ## IsValidLogicalExpression # def IsValidLogicalExpression(self): @@ -319,7 +319,7 @@ class _ValidRangeExpressionParser(_ExprBase): self.INT = 2 self.IsParenHappen = False self.IsLogicalOpHappen = False - + ## IsValidRangeExpression # def IsValidRangeExpression(self): @@ -330,12 +330,12 @@ class _ValidRangeExpressionParser(_ExprBase): return False, ST.ERR_EXPR_RANGE % self.Token except _ExprError as XExcept: return False, XExcept.Error - + self.SkipWhitespace() if self.Index != self.Len: return False, (ST.ERR_EXPR_RANGE % self.Token) return True, '' - + ## RangeExpression # def RangeExpression(self): @@ -346,22 +346,22 @@ class _ValidRangeExpressionParser(_ExprBase): raise _ExprError(ST.ERR_PAREN_NOT_USED % self.Token) self.IsParenHappen = False Ret = self.Unary() - + if self.IsCurrentOp(['XOR']): Ret = self.Unary() - + return Ret - + ## Unary # def Unary(self): if self.IsCurrentOp(["NOT"]): return self.Unary() - + return self.ValidRange() - + ## ValidRange - # + # def ValidRange(self): Ret = -1 if self.IsCurrentOp(["("]): @@ -375,10 +375,10 @@ class _ValidRangeExpressionParser(_ExprBase): raise _ExprError(ST.ERR_EXPR_RIGHT_PAREN % self.Token) self.Parens -= 1 return Ret - + if self.IsLogicalOpHappen: raise _ExprError(ST.ERR_PAREN_NOT_USED % self.Token) - + if self.IsCurrentOp(["LT", "GT", "LE", "GE", "EQ", "XOR"]): IntMatch = \ re.compile(self.INT_PATTERN).match(self.Token[self.Index:]) @@ -417,7 +417,7 @@ class _ValidListExpressionParser(_ExprBase): def __init__(self, Token): _ExprBase.__init__(self, Token) self.NUM = 1 - + def IsValidListExpression(self): if self.Len == 0: return False, ST.ERR_EXPR_LIST_EMPTY @@ -432,7 +432,7 @@ class _ValidListExpressionParser(_ExprBase): return False, (ST.ERR_EXPR_LIST % self.Token) return True, '' - + def ListExpression(self): Ret = -1 self.SkipWhitespace() @@ -444,7 +444,7 @@ class _ValidListExpressionParser(_ExprBase): raise _ExprError(ST.ERR_EXPR_LIST % self.Token) return Ret - + ## _StringTestParser # class _StringTestParser(_ExprBase): @@ -452,7 +452,7 @@ class _StringTestParser(_ExprBase): _ExprBase.__init__(self, Token) ## IsValidStringTest - # + # def IsValidStringTest(self): if self.Len == 0: return False, ST.ERR_EXPR_EMPTY @@ -463,7 +463,7 @@ class _StringTestParser(_ExprBase): return True, '' ## StringItem - # + # def StringItem(self): Match1 = re.compile(self.QUOTED_PATTERN)\ .match(self.Token[self.Index:].replace('\\\\', '//')\ @@ -489,7 +489,7 @@ class _StringTestParser(_ExprBase): (self.Token, self.Token[self.Index:])) ## StringTest - # + # def StringTest(self): self.StringItem() if not self.IsCurrentOp(["==", "EQ", "!=", "NE"]): @@ -538,7 +538,7 @@ def IsValidRangeExpr(Token): ## # Check syntax of value list expression token # -# @param Token: value list expression token +# @param Token: value list expression token # def IsValidListExpr(Token): return _ValidListExpressionParser(Token).IsValidListExpression() @@ -562,7 +562,7 @@ def IsValidFeatureFlagExp(Token, Flag=False): if not Valid: Valid, Cause = IsValidLogicalExpr(Token, Flag) if not Valid: - return False, Cause + return False, Cause return True, "" if __name__ == '__main__': @@ -570,4 +570,4 @@ if __name__ == '__main__': print(_LogicalExpressionParser('gCrownBayTokenSpaceGuid.PcdPciDevice1BridgeAddressLE0').IsValidLogicalExpression()) - + -- cgit v1.2.3