private static void InterpretFile(MipsToBinary mips, string[] args) { bool isWithNewLines = false; bool isHex = false; bool isBytePartition = false; // file operation mode if (args.Length > 1) { string mipsFile = ""; string binPath = ""; int i; for (i = 0; i < args.Length; i++) { if (args[i] == "-s" && i + 1 < args.Length) { mipsFile = args[i + 1]; } else if (args[i] == "-o" && i + 1 < args.Length) { binPath = args[i + 1]; } else if (args[i] == "-n") { isWithNewLines = true; } else if (args[i] == "-h") { isHex = true; } else if (args[i] == "-p") { isBytePartition = true; } } if (mipsFile == "" || binPath == "") { Console.WriteLine("Input error!"); return; } string input = File.ReadAllText(mipsFile); string binary; if (!isHex) { binary = mips.GetBinaryString(input, isWithNewLines); } else { binary = mips.GetHexString(input, isWithNewLines, isBytePartition); } File.WriteAllText(binPath, binary); Console.WriteLine("Done"); return; } }