private void CopySimplyCodeToClipbord() { var(hash, code) = EditrVM.GetSourceCode(); var str = Refacter.ToSimpleCode.Get(code, EffectiveCharacters.RemoveNonEffectiveChars); Clipboard.SetDataObject(str, true); }
private void CopyCLangCodeToClipbord() { (_, var code) = EditrVM.GetSourceCode(); var str = Refacter.ToCLang.ToCLangCode(code); Clipboard.SetDataObject(str, true); }
private void UpdateDebuggerState() { var position = _interpreter?.Position ?? Place.Empty; EditrVM.RunnningPosition = position; MemoryVM.SetMemory(_interpreter?.GetEditableMemory()); if (position.IsEmpty() == false) { EditrVM.ForcusAt(position); } }
private bool InitializiedInterpretor() { var(hash, code) = EditrVM.GetSourceCode(); try { var ret = true; if (_interpreter == null || _interpreter.IsStopped()) { _sourceCodeHash = hash; _interpreter = new Interpreter.Interpreter(code) { }; _interpreter.TryReadChar += TextImputDataVM.GetTextSender().TryGetNextChar; _interpreter.WriteChar += ResultTextVM.WriteChar; ResultTextVM.Clear(); } else { if (_sourceCodeHash != hash) { ret &= _interpreter.TryForceUpdateSourceCode(code, EditrVM.RunnningPosition); } else { ret &= _interpreter.TryForceUpdateRunnningPosition(EditrVM.RunnningPosition); } MemoryVM.ReflectToInterpretor(); } _interpreter.BreakPoints = EditrVM.GetBreakPoints(); return(ret); } catch (Exception exe) { MessageBox.Show(exe.Message); return(false); } finally { _sourceCodeHash = hash; } }