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, []))
def __init__(self): self.irbuilder = IRBuilder() self.ir = None