Mercurial > lcfOS
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 |