LIBS = -lCommon\r
'''\r
\r
+variablePattern = re.compile(r'[\t\s]*0[xX][a-fA-F0-9]+$')\r
+\r
## regular expressions for finding decimal and hex numbers\r
Pattern = re.compile('^[1-9]\d*|0$')\r
HexPattern = re.compile(r'0[xX][0-9a-fA-F]+$')\r
if VariableOffset.isdigit():\r
if int(VariableOffset, 10) > 0xFFFF:\r
ExceedMax = True\r
- elif re.match(r'[\t\s]*0[xX][a-fA-F0-9]+$', VariableOffset):\r
+ elif variablePattern.match(VariableOffset):\r
if int(VariableOffset, 16) > 0xFFFF:\r
ExceedMax = True\r
# For Offset written in "A.B"\r
from MetaFileTable import MetaFileStorage\r
from MetaFileCommentParser import CheckInfComment\r
\r
+## RegEx for finding file versions\r
+hexVersionPattern = re.compile(r'0[xX][\da-f-A-F]{5,8}')\r
+decVersionPattern = re.compile(r'\d+\.\d+')\r
+\r
## A decorator used to parse macro definition\r
def ParseMacro(Parser):\r
def MacroParser(self):\r
EdkLogger.error("Parser", FORMAT_INVALID, "%s not defined" % (Macro), ExtraData=self._CurrentLine, File=self.MetaFile, Line=self._LineIndex + 1)\r
# Sometimes, we need to make differences between EDK and EDK2 modules \r
if Name == 'INF_VERSION':\r
- if re.match(r'0[xX][\da-f-A-F]{5,8}', Value):\r
+ if hexVersionPattern.match(Value):\r
self._Version = int(Value, 0) \r
- elif re.match(r'\d+\.\d+', Value):\r
+ elif decVersionPattern.match(Value):\r
ValueList = Value.split('.')\r
Major = '%04o' % int(ValueList[0], 0)\r
Minor = '%04o' % int(ValueList[1], 0)\r