6c1bb966d0e60ae54dfddb452b0eacdc7daa66a5
[people/mcb30/basetools.git] / Source / Python / Ecc / c.py
1 import sys\r
2 import os\r
3 import CodeFragmentCollector\r
4 import FileProfile\r
5 import DataClass\r
6 \r
7 for dirpath, dirnames, filenames in os.walk(sys.argv[1]):\r
8     for d in dirnames:\r
9         if d.startswith('.'):\r
10             dirnames.remove(d)\r
11     for f in filenames:\r
12         if os.path.splitext(f)[1] in ('.h', '.c'):\r
13             collector = CodeFragmentCollector.CodeFragmentCollector(os.path.join(dirpath, f))\r
14 collector.ParseFile()\r
15 collector.PrintFragments()\r
16 \r
17 #BaseName = os.path.basename(sys.argv[1])\r
18 #DirName = os.path.dirname(sys.argv[1])\r
19 #Ext = os.path.splitext(BaseName)[1]\r
20 #if Ext.startswith('.'):\r
21 #    Ext = Ext.lstrip('.')\r
22 #FileObj = DataClass.FileClass(Name = BaseName, ExtName = Ext, Path = DirName, FullPath = sys.argv[1])\r
23 #\r
24 #for func in FileProfile.FunctionDefinitionList:\r
25 #    FuncObj = DataClass.FunctionClass(Header = func.Declarator, Modifier = func.Modifier, Name = func.Declarator.split('(')[0].strip(), StartLine = func.StartPos[0], StartColumn = func.StartPos[1], EndLine = func.EndPos[0], EndColumn = func.EndPos[1])\r
26 #    FileObj.FunctionList.append(FuncObj)\r
27 #    \r
28 #for var in FileProfile.VariableDeclarationList:\r
29 #    VarObj = DataClass.VariableClass(Modifier = var.Modifier, Name = var.Declarator.split('=')[0].strip(), Value = (len(var.Declarator.split('=')) > 1 and [var.Declarator.split('=')[1]]or [''])[0], StartLine = var.StartPos[0], StartColumn = var.StartPos[1], EndLine = var.EndPos[0], EndColumn = var.EndPos[1])\r
30 #    FileObj.VariableList.append(VarObj)\r
31     \r
32 print 'Done!'\r