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