public void logPrgStateExec() { FileStream fs = new FileStream(logFilePath, FileMode.Append); try { string s = prg.ToString(); UnicodeEncoding unienc = new UnicodeEncoding(); fs.Write(unienc.GetBytes(s), 0, unienc.GetByteCount(s)); fs.Close(); /* * logFile = new PrintWriter(new StreamWriter(new FileWriter(logFilePath, true))); * logFile.println("ExeStack:"); * logFile.println("\t" + prg.getStk().toString()); * logFile.println("SymTable:"); * logFile.println("\t" + prg.getSymTable().toString()); * logFile.println("Out:"); * logFile.println("\t" + prg.getOut().toString()); * logFile.println("FileTable:"); * logFile.println("\t" + prg.getFileTable().toString()); * logFile.println();*/ } catch (IOException e) { new MyException("" + e); } }
public void allStep() { PrgState prg = repo.getCtrPrg(); repo.clearData(); while (!prg.getStk().isEmpty()) { try { oneStep(prg); repo.logPrgStateExec(); } catch (MyStmtExecException e) { Console.WriteLine("Exception is : " + e); } Console.WriteLine(prg.ToString()); } }