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