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>
## Regular expressions for HEX matching\r
g4HexChar = re.compile(r'{}{{4}}'.format(_HexChar))\r
gHexPattern = re.compile(r'0[xX]{}+'.format(_HexChar))\r
+gHexPatternAll = re.compile(r'0[xX]{}+$'.format(_HexChar))\r
\r
## Regular expressions for string identifier checking\r
gIdentifierPattern = re.compile('^[a-zA-Z][a-zA-Z0-9_]*$', re.UNICODE)\r
\r
self.__GetOneChar()\r
\r
- def __IsHex(self, HexStr):\r
- if not HexStr.upper().startswith("0X"):\r
- return False\r
- if len(self.__Token) <= 2:\r
- return False\r
- return True if all(x in string.hexdigits for x in HexStr[2:]) else False\r
-\r
## __GetNextHexNumber() method\r
#\r
# Get next HEX data before a seperator\r
def __GetNextHexNumber(self):\r
if not self.__GetNextToken():\r
return False\r
- if self.__IsHex(self.__Token):\r
+ if gHexPatternAll.match(self.__Token):\r
return True\r
else:\r
self.__UndoToken()\r