ERR_EMPTY_EXPR = 'Empty expression is not allowed.'\r
ERR_IN_OPERAND = 'Macro after IN operator can only be: $(FAMILY), $(ARCH), $(TOOL_CHAIN_TAG) and $(TARGET).'\r
\r
+__ValidString = re.compile(r'[_a-zA-Z][_0-9a-zA-Z]*$')\r
+\r
## SplitString\r
# Split string to list according double quote\r
# For example: abc"de\"f"ghi"jkl"mn will be: ['abc', '"de\"f"', 'ghi', '"jkl"', 'mn']\r
RetList.append(Item)\r
return RetList\r
\r
-def IsValidCString(Str):\r
- ValidString = re.compile(r'[_a-zA-Z][_0-9a-zA-Z]*$')\r
- if not ValidString.match(Str):\r
- return False\r
- return True\r
+def IsValidCName(Str):\r
+ return True if __ValidString.match(Str) else False\r
\r
def BuildOptionValue(PcdValue, GuidDict):\r
IsArray = False\r
Item = Item.strip()\r
if LabelList:\r
for Label in LabelList:\r
- if not IsValidCString(Label):\r
+ if not IsValidCName(Label):\r
raise BadExpression('%s is not a valid c variable name' % Label)\r
if Label not in LabelDict.keys():\r
LabelDict[Label] = str(LabelOffset)\r