static void Swap(WhitespaceRunner host) { int tmp = host.wsStack.Pop(); int tmp2 = host.wsStack.Pop(); host.wsStack.Push(tmp); host.wsStack.Push(tmp2); }
static void JumpNeg(WhitespaceRunner host) { int test = host.wsStack.Pop(); if (test < 0) { host.programCounter = host.labels[host.paramVal] - 1; } }
static void Jump(WhitespaceRunner host) { host.programCounter = host.labels[host.paramVal] - 1; }
static void Call(WhitespaceRunner host) { host.callStack.Push(host.programCounter); host.programCounter = host.labels[host.paramVal] - 1; }
static void ReadNum(WhitespaceRunner host) { host.wsHeap[host.wsStack.Pop()] = (Int32.Parse(Console.ReadLine())); }
static void ReadChar(WhitespaceRunner host) { host.wsHeap[host.wsStack.Pop()] = (Console.Read()); }
static void OutNum(WhitespaceRunner host) { Console.Write(host.wsStack.Pop()); }
static void Copy(WhitespaceRunner host) { host.wsStack.Push(host.wsStack.Peek()); }
static void Load(WhitespaceRunner host) { int want = host.wsStack.Pop(); host.wsStack.Push(host.wsHeap[want]); }
static void Store(WhitespaceRunner host) { int val = host.wsStack.Pop(); host.wsHeap[host.wsStack.Pop()] = val; }
static void Mod(WhitespaceRunner host) { int tmp = host.wsStack.Pop(); host.wsStack.Push(host.wsStack.Pop() % tmp); }
static void Mult(WhitespaceRunner host) { host.wsStack.Push(host.wsStack.Pop() * host.wsStack.Pop()); }
static void Add(WhitespaceRunner host) { host.wsStack.Push(host.wsStack.Pop() + host.wsStack.Pop()); }
static void Pop(WhitespaceRunner host) { host.wsStack.Pop(); }
static void Ret(WhitespaceRunner host) { host.programCounter = host.callStack.Pop(); }
static void OutChar(WhitespaceRunner host) { Console.Write((char)host.wsStack.Pop()); }
static void End(WhitespaceRunner host) { host.finished = true; }
static void Push(WhitespaceRunner host) { host.wsStack.Push(host.paramVal); }