Mercurial > lcfOS
view python/codegen.py @ 274:ea93e0a7a31e
Move docs
author | Windel Bouwman |
---|---|
date | Wed, 04 Sep 2013 17:35:06 +0200 |
parents | 8786811a5a59 |
children | 02385f62f250 |
line wrap: on
line source
import ir, target from ppci import CompilerError class CodeGenerator: """ Target independent code generator """ def __init__(self, tg): assert isinstance(tg, target.Target) self.tg = tg def tryMap(self, ii): for mi in self.tg.instructions: if mi.irpattern is ii: return mi.FromIr(ii) raise CompilerError('Cannot map {0}'.format(ii)) def generate(self, ircode): assert isinstance(ircode, ir.Module) obj = object() for gvar in ircode.Variables: print(gvar) print('TODO') for f in ircode.Functions: for bb in f.Blocks: for ins in bb.Instructions: # Instruction selection: #mi = self.tryMap(ins) pass return obj