コード例 #1
0
        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);
            }
        }
コード例 #2
0
        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());
            }
        }