Mercurial > lcfOS
comparison python/c3/builder.py @ 254:bd26dc13f270
Added logger
author | Windel Bouwman |
---|---|
date | Wed, 31 Jul 2013 21:20:58 +0200 |
parents | 6ed3d3a82a63 |
children | 7416c923a02a |
comparison
equal
deleted
inserted
replaced
253:74c6a20302d5 | 254:bd26dc13f270 |
---|---|
1 import logging | |
1 import ppci | 2 import ppci |
2 from . import Parser, TypeChecker, Analyzer, CodeGenerator | 3 from . import Parser, TypeChecker, Analyzer, CodeGenerator |
3 from . astprinter import AstPrinter | 4 from . astprinter import AstPrinter |
4 import glob | 5 import glob |
5 | 6 |
7 """ | 8 """ |
8 Generates IR-code from c3 source. | 9 Generates IR-code from c3 source. |
9 Reports errors to the diagnostics system | 10 Reports errors to the diagnostics system |
10 """ | 11 """ |
11 def __init__(self, diag): | 12 def __init__(self, diag): |
13 self.logger = logging.getLogger('c3') | |
12 self.diag = diag | 14 self.diag = diag |
13 self.parser = Parser(diag) | 15 self.parser = Parser(diag) |
14 self.tc = TypeChecker(diag) | 16 self.tc = TypeChecker(diag) |
15 self.al = Analyzer(diag) | 17 self.al = Analyzer(diag) |
16 self.cg = CodeGenerator() | 18 self.cg = CodeGenerator() |
32 | 34 |
33 def parse(self, src): | 35 def parse(self, src): |
34 pkg = self.parser.parseSource(src) | 36 pkg = self.parser.parseSource(src) |
35 if not pkg: | 37 if not pkg: |
36 return | 38 return |
39 logging.getLogger('c3').info('Source parsed') | |
37 | 40 |
38 # TODO: merge the two below? | 41 # TODO: merge the two below? |
39 #AstPrinter().printAst(pkg) | 42 #AstPrinter().printAst(pkg) |
40 if not self.al.analyzePackage(pkg, self): | 43 if not self.al.analyzePackage(pkg, self): |
41 return | 44 return |