private List<string> WriteArithmeticInstructions(string operation, ArithmeticAssemblyEmitter emitter) { List<string> instructions = new List<string>(); switch (operation) { case "add": instructions.AddRange(emitter.EmitAdd()); break; case "sub": instructions.AddRange(emitter.EmitSub()); break; case "neg": instructions.AddRange(emitter.EmitNeg()); break; case "eq": instructions.AddRange(emitter.EmitEq()); break; case "gt": instructions.AddRange(emitter.EmitGt()); break; case "lt": instructions.AddRange(emitter.EmitLt()); break; case "and": instructions.AddRange(emitter.EmitAnd()); break; case "or": instructions.AddRange(emitter.EmitOr()); break; case "not": instructions.AddRange(emitter.EmitNot()); break; } return instructions; }