Example #1
0
        private void CopySimplyCodeToClipbord()
        {
            var(hash, code) = EditrVM.GetSourceCode();
            var str = Refacter.ToSimpleCode.Get(code, EffectiveCharacters.RemoveNonEffectiveChars);

            Clipboard.SetDataObject(str, true);
        }
Example #2
0
        private void CopyCLangCodeToClipbord()
        {
            (_, var code) = EditrVM.GetSourceCode();
            var str = Refacter.ToCLang.ToCLangCode(code);

            Clipboard.SetDataObject(str, true);
        }
Example #3
0
        private void UpdateDebuggerState()
        {
            var position = _interpreter?.Position ?? Place.Empty;

            EditrVM.RunnningPosition = position;
            MemoryVM.SetMemory(_interpreter?.GetEditableMemory());
            if (position.IsEmpty() == false)
            {
                EditrVM.ForcusAt(position);
            }
        }
Example #4
0
        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;
            }
        }