2020-12-02 21:18:58 +01:00
|
|
|
class IntegerStack:
|
2020-11-18 21:20:04 +01:00
|
|
|
def __init__(self):
|
|
|
|
self.stack = [] * 128
|
2020-12-02 21:18:58 +01:00
|
|
|
|
2020-11-18 21:20:04 +01:00
|
|
|
def depth(self):
|
|
|
|
return len(self.stack)
|
2020-12-02 21:18:58 +01:00
|
|
|
|
2020-11-18 21:20:04 +01:00
|
|
|
def tos(self):
|
|
|
|
return self.stack[-1]
|
2020-12-02 21:18:58 +01:00
|
|
|
|
2020-11-18 21:20:04 +01:00
|
|
|
def push(self, v):
|
|
|
|
self.stack.append(v)
|
|
|
|
|
|
|
|
def append(self, v):
|
|
|
|
self.stack.append(v)
|
2020-12-02 21:18:58 +01:00
|
|
|
|
2020-11-18 21:20:04 +01:00
|
|
|
def pop(self):
|
|
|
|
return self.stack.pop()
|
2020-12-02 21:18:58 +01:00
|
|
|
|
2020-11-18 21:20:04 +01:00
|
|
|
def dup(self):
|
|
|
|
self.stack.append(self.stack[-1])
|
2020-12-02 21:18:58 +01:00
|
|
|
|
2020-11-18 21:20:04 +01:00
|
|
|
def drop(self):
|
|
|
|
self.stack.pop()
|
2020-12-02 21:18:58 +01:00
|
|
|
|
2020-11-18 21:20:04 +01:00
|
|
|
def swap(self):
|
|
|
|
a = self.stack[-2]
|
|
|
|
self.stack[-2] = self.stack[-1]
|
|
|
|
self.stack[-1] = a
|