private Value Not(NotNode exp) { try { Constant node = Eval(exp.InnerNode).GetRValue(); BoolValue n = (BoolValue)Convert(node, Constant.Type.Bool); return(BoolValue.OpNot(n)); } catch (TypeConversionError exc) { throw new ModelInterpreterException($"Операция \"НЕ\" не определена для типов \"{exc.Src}\" и \"{exc.Dst}\"") { Line = exp.Line, Position = exp.Position }; } catch (Exception exc) { throw new ModelInterpreterException(exc.Message) { Line = exp.Line, Position = exp.Position }; } }