Beispiel #1
0
 def __init__(self, explicate, varalloc):
     self.log = logging.getLogger('compiler.closure')
     self.varalloc = varalloc
     self.name_alloc = {}
     self.functions = []
     self.freevars = P2FreeVars()
     self.explicate = explicate
Beispiel #2
0
    def getLocalAssigns(self, n):
        self.log.debug('getLocalAssigns %s' % n)

        if isinstance(n, (While, If)):
            # these are all expressions, so no assignments
            return set([])
        elif isinstance(n, (Let)):
            return set([n.var.name])
        else:
            return P2FreeVars.getLocalAssigns(self, n)
Beispiel #3
0
    def getLocalAssigns(self,n):
        self.log.debug('getLocalAssigns %s'%n)

        if isinstance(n, (While, If)):
            # these are all expressions, so no assignments
            return set([])
        elif isinstance(n, (Let)):
            return set([n.var.name])
        else:
            return P2FreeVars.getLocalAssigns(self, n)
Beispiel #4
0
 def __init__(self):
     P2FreeVars.__init__(self)
Beispiel #5
0
 def __init__(self):
     P2FreeVars.__init__(self)
Beispiel #6
0
 def __init__(self, explicate):
     self.log = logging.getLogger('compiler.heapify')
     self.explicate = P2Explicate(explicate.varalloc, False)
     self.freevars = P2FreeVars()
     self.heapvarset = set([])