def prepr(self, depth=0, dchr=' '): dstr = dchr * depth return '%s%sscope :\n%s %s%s' % ( dstr, self.name + '-' if self.name else '', dstr, ('\n%s ' % dstr).join( ['%s => %r' % (x, y) for x, y in self.dict.items()]), '\n' + '\n'.join([prepr(p, depth + 1) for p in self.parents] if self.parents else []))
def prepr(self, depth=0, dchr=' '): dstr=dchr*depth return '%s%sscope :\n%s %s%s'%( dstr, self.name + '-' if self.name else '', dstr, ('\n%s '%dstr).join(['%s => %r'%(x,y) for x,y in self.dict.items()]), '\n'+ '\n'.join([prepr(p, depth+1) for p in self.parents] if self.parents else []) )
def visit(self, tree_node, local_dict): last_context = self.last_node, self.last_scope self.last_node, self.last_scope = tree_node, local_dict if VERBOSE >= VERBOSITY_SHOW_VISITED_NODES: print "Visiting %s (line %s) : %s %s" % ( tree_node.filename, tree_node.line_num, tree_node.name, prepr.prepr(local_dict)) fn = getattr(self, 'exec_%s' % tree_node.name, None) if fn is not None: retval = fn(tree_node, local_dict) else: retval = self.visit_default(tree_node, local_dict) self.last_node, self.last_scope = last_context return retval
def tfn(*a,**b): global trace_stack, tcid cur_tcid = tcid tcid += 1 trace_stack.append(tcid) trace_depth = len(trace_stack) tpid = trace_stack[-2] if trace_depth >= 2 else None fn_name = fn.__name__ pdata = { 'indent' : "|"*trace_depth, 'name' : fn_name, 'args' : prepr.prepr(a), 'kwargs' : b, 'depth' : trace_depth, 'parent_tcid': tpid, 'tcid' : cur_tcid } print pre_tt % pdata rv = fn(*a,**b) print post_tt % pdata trace_stack.pop() return rv
def tfn(*a, **b): global trace_stack, tcid cur_tcid = tcid tcid += 1 trace_stack.append(tcid) trace_depth = len(trace_stack) tpid = trace_stack[-2] if trace_depth >= 2 else None fn_name = fn.__name__ pdata = { 'indent': "|" * trace_depth, 'name': fn_name, 'args': prepr.prepr(a), 'kwargs': b, 'depth': trace_depth, 'parent_tcid': tpid, 'tcid': cur_tcid } print pre_tt % pdata rv = fn(*a, **b) print post_tt % pdata trace_stack.pop() return rv
def visit(self, tree_node, local_dict): last_context = self.last_node, self.last_scope self.last_node, self.last_scope = tree_node, local_dict if VERBOSE >= VERBOSITY_SHOW_VISITED_NODES: print "Visiting %s (line %s) : %s %s"%(tree_node.filename, tree_node.line_num, tree_node.name, prepr.prepr(local_dict)) fn = getattr(self, 'exec_%s'%tree_node.name, None) if fn is not None: retval = fn(tree_node, local_dict) else: retval = self.visit_default(tree_node, local_dict) self.last_node, self.last_scope = last_context return retval