comparison python/c3/builder.py @ 167:0b5b2ee6b435

Added 2 unit tests
author Windel Bouwman
date Fri, 22 Mar 2013 17:40:13 +0100
parents da0087b82fbe
children 49f1ab80d040
comparison
equal deleted inserted replaced
166:da0087b82fbe 167:0b5b2ee6b435
10 self.cg = CodeGenerator() 10 self.cg = CodeGenerator()
11 self.ap = AstPrinter() 11 self.ap = AstPrinter()
12 def build(self, src): 12 def build(self, src):
13 # Store src for later: 13 # Store src for later:
14 self.src = src 14 self.src = src
15 print('[0] source:')
16 print(src)
17 print('[1] parsing')
18 self.pkg = self.p.parseSource(src) 15 self.pkg = self.p.parseSource(src)
19 self.al.analyzePackage(self.pkg) 16 self.al.analyzePackage(self.pkg)
20 self.tc.checkPackage(self.pkg) 17 self.tc.checkPackage(self.pkg)
21 print('{0} errors'.format(len(self.diag.diags)))
22 for d in self.diag.diags:
23 print('ERROR:')
24 ppci.printError(src, d)
25 print('[2] ast:')
26 self.ap.printAst(self.pkg)
27
28 ok = len(self.diag.diags) == 0 18 ok = len(self.diag.diags) == 0
29 if ok: 19 if ok:
30 print('Generating ir-code') 20 print('Generating ir-code')
31 i = self.cg.gencode(self.pkg) 21 i = self.cg.gencode(self.pkg)
32 return i 22 return i