Ejemplo n.º 1
0
                self.paren_depth += 1
            elif cmd.data == ')':
                self.paren_depth -= 1
                if self.paren_depth == 0:
                    self.finish_recording()
        else:
            cmd.execute(self)
            
    def finish_recording(self):
        w = stapel_types.UserDefinedWord(self.recorded[:-1])
        self.recorded = []
        self.push(w)
        
    def push(self, x):
        self.datastack[-1].append(x)
        
    def pop(self):
        return self.datastack[-1].pop()
    
    def stack_repr(self):
        reprs = [repr(x) for x in self.datastack[-1]]
        return string.join(reprs, " ")
    
        
if __name__ == "__main__":
    
    from interactive import Interactive
    
    interactive = Interactive()
    interactive.mainloop()