## @file\r
# This file is used to define common parsing related functions used in parsing INF/DEC/DSC process\r
#\r
-# Copyright (c) 2008 - 2014, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2008 - 2018, Intel Corporation. All rights reserved.<BR>\r
# This program and the accompanying materials\r
# are licensed and made available under the terms and conditions of the BSD License\r
# which accompanies this distribution. The full text of the license may be found at\r
##\r
# Import Modules\r
#\r
-from String import *\r
+from __future__ import absolute_import\r
+from .StringUtils import *\r
from CommonDataClass.DataClass import *\r
-from DataType import *\r
+from .DataType import *\r
\r
## ParseDefineMacro\r
#\r
Macros[Record[0]] = Record[1]\r
\r
#\r
- # Overrided by Global Macros\r
+ # Overridden by Global Macros\r
#\r
- for Key in GlobalMacro.keys():\r
- Macros[Key] = GlobalMacro[Key]\r
+ Macros.update(GlobalMacro)\r
\r
#\r
# Replace the Macros\r
#\r
- for Key in RecordSets.keys():\r
- if RecordSets[Key] != []:\r
- for Item in RecordSets[Key]:\r
- Item[0] = ReplaceMacro(Item[0], Macros)\r
+ for Value in (v for v in RecordSets.values() if v):\r
+ for Item in Value:\r
+ Item[0] = ReplaceMacro(Item[0], Macros)\r
\r
## ParseDefineMacro\r
#\r
Macros[Record[0]] = Record[1]\r
\r
#\r
- # Overrided by Global Macros\r
+ # Overridden by Global Macros\r
#\r
- for Key in GlobalMacro.keys():\r
- Macros[Key] = GlobalMacro[Key]\r
+ Macros.update(GlobalMacro)\r
\r
#\r
# Found all defined macro and replaced\r
#\r
def CheckPcdTokenInfo(TokenInfoString, Section, File, LineNo = -1):\r
Format = '<TokenSpaceGuidCName>.<PcdCName>'\r
- if TokenInfoString != '' and TokenInfoString != None:\r
+ if TokenInfoString != '' and TokenInfoString is not None:\r
TokenInfoList = GetSplitValueList(TokenInfoString, TAB_SPLIT)\r
if len(TokenInfoList) == 2:\r
return True\r
LineList = Lines.split('\n')\r
for Line in LineList:\r
Line = CleanString(Line, CommentCharacter)\r
- if Line == None or Line == '':\r
+ if Line is None or Line == '':\r
continue\r
\r
if findBlock == False:\r
# @param Table: The Table to be inserted\r
# @param FileID: The ID of belonging file\r
# @param Filename: The name of belonging file\r
-# @param CurrentSection: The name of currect section\r
+# @param CurrentSection: The name of current section\r
# @param SectionItemList: A list of items of the section\r
# @param ArchList: A list of arches\r
# @param ThirdList: A list of third parameters, ModuleType for LibraryClass and SkuId for Dynamic Pcds\r