public void StartJVM(ConsoleParam param) { //初始化指令集 Instruction.InitialInstructions(); Entry classPath = new ClassPath(param.JdkPath, param.Path); byte[] classData = classPath.ReadClass(param.ClassName); if (Switchs.DebugParse) { Console.Write(BitConverter.ToString(classData)); } Console.WriteLine(); ClassFile classFile = ClassReader.Read(classData); Interpreter interpreter = new Interpreter(); interpreter.interpret(classFile.Methods[1]); Console.Write("finished with exit code 0"); }
public static ConsoleParam Read() { Console.Out.Write("CsJVM: "); //string param = Console.ReadLine(); //string[] paramArray = param.Split(' '); //while (paramArray.Length != 3) //{ // Console.Out.WriteLine("IllegalArguments"); // param = Console.ReadLine(); // paramArray = param.Split(' '); //} ConsoleParam consoleParam = new ConsoleParam(); //string classFullName = paramArray[2]; //classFullName = classFullName.Replace(".class", "`class"); //classFullName = classFullName.Replace('.', '/'); //classFullName = classFullName.Replace("`class", ".class"); //consoleParam.ClassName = classFullName; return(consoleParam); }