namespace KumiScript.Reader { public class Stack { List _values; public Stack(int size) { _values = new List(size); } public T Pop() { if (!_values.Any()) throw new Exception("Stack empty!"); T last = _values.Last(); _values.Remove(last); return last; } public bool Push(T item) { _values.Add(item); return true; } public bool IsEmpty() { return !_values.Any(); } public List ToList() { return _values; } } }