Sync EDKII BaseTools to BaseTools project r2093.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11057 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
@ -18,70 +18,6 @@ from String import *
|
||||
from CommonDataClass.DataClass import *
|
||||
from DataType import *
|
||||
|
||||
## ParseContent
|
||||
#
|
||||
# Parse content of a DSC/INF/DEC file
|
||||
#
|
||||
def ParseContent(Lines, ):
|
||||
for Line in Lines:
|
||||
LineNo = LineNo + 1
|
||||
#
|
||||
# Remove comments at tail and remove spaces again
|
||||
#
|
||||
Line = CleanString(Line)
|
||||
if Line == '':
|
||||
continue
|
||||
|
||||
#
|
||||
# Find a new section tab
|
||||
# First insert previous section items
|
||||
# And then parse the content of the new section
|
||||
#
|
||||
if Line.startswith(TAB_SECTION_START) and Line.endswith(TAB_SECTION_END):
|
||||
#
|
||||
# Insert items data of previous section
|
||||
#
|
||||
self.InsertSectionItemsIntoDatabase(FileID, Filename, CurrentSection, SectionItemList, ArchList, ThirdList, IfDefList)
|
||||
#
|
||||
# Parse the new section
|
||||
#
|
||||
SectionItemList = []
|
||||
ArchList = []
|
||||
ThirdList = []
|
||||
|
||||
LineList = GetSplitValueList(Line[len(TAB_SECTION_START):len(Line) - len(TAB_SECTION_END)], TAB_COMMA_SPLIT)
|
||||
for Item in LineList:
|
||||
ItemList = GetSplitValueList(Item, TAB_SPLIT)
|
||||
CurrentSection = ItemList[0]
|
||||
if CurrentSection.upper() not in self.KeyList:
|
||||
RaiseParserError(Line, CurrentSection, Filename, '', LineNo)
|
||||
ItemList.append('')
|
||||
ItemList.append('')
|
||||
if len(ItemList) > 5:
|
||||
RaiseParserError(Line, CurrentSection, Filename, '', LineNo)
|
||||
else:
|
||||
if ItemList[1] != '' and ItemList[1].upper() not in ARCH_LIST_FULL:
|
||||
EdkLogger.error("Parser", PARSER_ERROR, "Invalid Arch definition '%s' found" % ItemList[1], File=Filename, Line=LineNo)
|
||||
ArchList.append(ItemList[1].upper())
|
||||
ThirdList.append(ItemList[2])
|
||||
|
||||
continue
|
||||
|
||||
#
|
||||
# Not in any defined section
|
||||
#
|
||||
if CurrentSection == TAB_UNKNOWN:
|
||||
ErrorMsg = "%s is not in any defined section" % Line
|
||||
EdkLogger.error("Parser", PARSER_ERROR, ErrorMsg, File=Filename, Line=LineNo)
|
||||
|
||||
#
|
||||
# Add a section item
|
||||
#
|
||||
SectionItemList.append([Line, LineNo])
|
||||
# End of parse
|
||||
#End of For
|
||||
|
||||
|
||||
## ParseDefineMacro
|
||||
#
|
||||
# Search whole table to find all defined Macro and replaced them with the real values
|
||||
@ -940,4 +876,4 @@ def GenMetaDatSectionItem(Key, Value, List):
|
||||
if Key not in List:
|
||||
List[Key] = [Value]
|
||||
else:
|
||||
List[Key].append(Value)
|
||||
List[Key].append(Value)
|
||||
|
Reference in New Issue
Block a user