1 ## @file 2 # fragments of source file 3 # 4 # Copyright (c) 2007 - 2014, Intel Corporation. All rights reserved.<BR> 5 # 6 # This program and the accompanying materials 7 # are licensed and made available under the terms and conditions of the BSD License 8 # which accompanies this distribution. The full text of the license may be found at 9 # http://opensource.org/licenses/bsd-license.php 10 # 11 # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 12 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 13 # 14 15 ## 16 # Import Modules 17 # 18 19 import re 20 import Common.LongFilePathOs as os 21 from ParserWarning import Warning 22 from Common.LongFilePathSupport import OpenLongFilePath as open 23 24 CommentList = [] 25 PPDirectiveList = [] 26 PredicateExpressionList = [] 27 FunctionDefinitionList = [] 28 VariableDeclarationList = [] 29 EnumerationDefinitionList = [] 30 StructUnionDefinitionList = [] 31 TypedefDefinitionList = [] 32 FunctionCallingList = [] 33 34 ## record file data when parsing source 35 # 36 # May raise Exception when opening file. 37 # 38 class FileProfile : 39 40 ## The constructor 41 # 42 # @param self The object pointer 43 # @param FileName The file that to be parsed 44 # 45 def __init__(self, FileName): 46 self.FileLinesList = [] 47 self.FileLinesListFromFile = [] 48 try: 49 fsock = open(FileName, "rb", 0) 50 try: 51 self.FileLinesListFromFile = fsock.readlines() 52 finally: 53 fsock.close() 54 55 except IOError: 56 raise Warning("Error when opening file %s" % FileName) 57 58