def __init__(self, module, factory, parent=None, frameCtr=None, scope=None, options=None, className=None): BaseEvaluator.__init__(self) if parent is None: frame = GlobalFrame(self) self.parent_compiler = None self.top_compiler = self else: frame = frameCtr(self, scope=scope) self.parent_compiler = parent self.top_compiler = parent.top_compiler self.frame = frame self.module = module self.nthrowables = 0 self.factory = factory self.options = options self.className = className self.listComprehensionStack = [] self.free_decls = []
def parse(self, node): if isinstance(self.frame,GlobalFrame): futures = self._futures = Future() futures.preprocessFutures(node,None) ScopesCompiler(self).parse(node) self.frame.setScope(node.scope) ret = BaseEvaluator.parse(self, node) #print 'parse', ret decs = self.free_decls + self.frame.getDeclarations() if len(decs) != 0: return [decs, jast.SimpleComment('Code'), ret] else: return ret
def parse(self, node): if isinstance(self.frame, GlobalFrame): futures = self._futures = Future() futures.preprocessFutures(node, None) ScopesCompiler(self).parse(node) self.frame.setScope(node.scope) ret = BaseEvaluator.parse(self, node) #print 'parse', ret decs = self.free_decls + self.frame.getDeclarations() if len(decs) != 0: return [decs, jast.SimpleComment('Code'), ret] else: return ret
def __init__(self): BaseEvaluator.__init__(self) self.locals = {} self.globals = {} self.builtins = makeBuiltins()