retroforth/vm/nga-python/IntegerStack.py
crc 1b0fa54eef nga-python: commit updates to class-based vm implementation
FossilOrigin-Name: f6f51a35193443a3fb5735b5cf742b82bafd9810aab098fe9376847ac948b4b1
2020-12-02 20:18:58 +00:00

29 lines
560 B
Python

class IntegerStack:
def __init__(self):
self.stack = [] * 128
def depth(self):
return len(self.stack)
def tos(self):
return self.stack[-1]
def push(self, v):
self.stack.append(v)
def append(self, v):
self.stack.append(v)
def pop(self):
return self.stack.pop()
def dup(self):
self.stack.append(self.stack[-1])
def drop(self):
self.stack.pop()
def swap(self):
a = self.stack[-2]
self.stack[-2] = self.stack[-1]
self.stack[-1] = a