public MainWindow() { InitializeComponent(); programSession = new ProgramSession(); programSession.OnMessageRaised += OnGameMessageRaised; DataContext = programSession; }
private void Execute() { try { var vm = new ProgramSession(_user, WriteLine); IVirtualMachine program = _user.Programs[_programName]; #if DEBUG var sw = new Stopwatch(); sw.Start(); #endif program.Run(vm); #if DEBUG sw.Stop(); Console.WriteLine("Run time: " + sw.ElapsedMilliseconds); #endif WriteLine("-----"); WriteLine("Returned: " + vm.Eax.Value.ToString(CultureInfo.InvariantCulture)); } catch (LexicalErrorException e) { WriteLine("Lexical Error: " + e.Message); } catch (ParseErrorException e) { WriteLine("Parse Error: " + e.Message); } catch (ThreadAbortException) { WriteLine("Timeout of 5 seconds exceeded..."); } catch (Exception e) { WriteLine("Error " + e.GetType().Name + ": " + e.Message + Environment.NewLine + "Stacktrace:" + e.StackTrace); } }