Ejemplo n.º 1
0
class Loader:
    def __init__(self):
        self.irbuilder = IRBuilder()
        self.ir = None

    def loadFile(self, filename):
        assert self.ir is None
        with open(filename) as file:
            self.irbuilder.parseModule(
                AHParser(
                CommonTokenStream(
                AHLexer(
                InputStream(file.read())))))

    def prepareIR(self):
        assert self.ir is None
        self.ir = self.irbuilder.makeIR()
        self.irbuilder = None

    def getInterpretator(self, moduleName, functionName):
        mainEntry = self.ir.modules[moduleName].scope[functionName]
        return Box(LazyFunction(mainEntry, []))
Ejemplo n.º 2
0
 def __init__(self):
     self.irbuilder = IRBuilder()
     self.ir = None