public ParsedExpression(String paramString, LogicExpression paramLogicExpression, LogicSyntax paramInt1, NegationSyntax paramInt2)
 {
     InitialText = paramString;
     Expression = paramLogicExpression;
     LogicSyntax = paramInt1;
     NegationSyntax = paramInt2;
 }
Beispiel #2
0
        public void Check(LogicSyntax paramInt1, NegationSyntax paramInt2)
        {
            int i = 0;

            int j = paramInt1 != LogicSyntax.f0 ? 1 : 0;

            int k = LogicSyntax != LogicSyntax.f0 ? 1 : 0;

            int m = paramInt2 != 0 ? 1 : 0;

            int n = NegationSyntax != 0 ? 1 : 0;

            if ((j != 0) && (LogicSyntax != paramInt1))
                i = 1;
            else if ((m != 0) && (NegationSyntax != paramInt2))
                i = 1;
            else if ((j != 0) && (n != 0) && (LogicParser.GetNegationSyntax(paramInt1) != NegationSyntax))
            {
                i = 1;
            }
            else if ((k != 0) && (m != 0) && (LogicParser.GetNegationSyntax(LogicSyntax) != paramInt2))
            {
                i = 1;
            }
            if (i != 0)
                throw new DifferentSyntaxesUsedException("Change of logic syntax");
        }
Beispiel #3
0
 public ParsedExpression(String initialText, LogicExpression expression, LogicSyntax logicSyntax,
     NegationSyntax negationSyntax)
 {
     InitialText = initialText;
     Expression = expression;
     LogicSyntax = logicSyntax;
     NegationSyntax = negationSyntax;
 }
Beispiel #4
0
        public void UpdateNegationSyntax(NegationSyntax paramInt)
        {
            if (((NegationSyntax != NegationSyntax.Unknown) && (NegationSyntax != paramInt)) ||
                ((LogicSyntax != 0) && (LogicParser.GetNegationSyntax(LogicSyntax) != paramInt)))
            {
                throw new DifferentSyntaxesUsedException("Change in logic syntax");
            }

            NegationSyntax = paramInt;
        }
Beispiel #5
0
 public override void ToString(StringBuilder paramStringBuilder, LogicSyntax paramInt1, NegationSyntax paramInt2)
 {
     if (Negated)
     {
         string value = NegationSyntaxer.GetNegatedString(paramInt2, Name);
         paramStringBuilder.Append(value);
     }
     else
         paramStringBuilder.Append(Name);
 }
Beispiel #6
0
 public override void ToString(StringBuilder paramStringBuilder, LogicSyntax paramInt1, NegationSyntax paramInt2)
 {
     if (Negated)
     {
         if (paramInt2 == NegationSyntax.Written)
             paramStringBuilder.Append("NOT " + Value);
         else if (paramInt2 == NegationSyntax.Before)
             paramStringBuilder.Append("~" + Value);
         else if (paramInt2 == NegationSyntax.After)
             paramStringBuilder.Append(Value + "'");
         else
         {
             Console.Error.WriteLine("Software Error: Unknown negationSyntax passed: " + paramInt2);
         }
     }
     else
         paramStringBuilder.Append(Value);
 }
Beispiel #7
0
 public override void ToString(StringBuilder paramStringBuilder, LogicSyntax paramInt1, NegationSyntax paramInt2)
 {
     if (Negated)
     {
         switch (paramInt2)
         {
             case NegationSyntax.Written:
                 paramStringBuilder.Append("NOT " + _value);
                 break;
             case NegationSyntax.Before:
                 paramStringBuilder.Append("~" + _value);
                 break;
             case NegationSyntax.After:
                 paramStringBuilder.Append(_value + "'");
                 break;
             default:
                 Console.Error.WriteLine("Software Error: Unknown negationSyntax passed: " + paramInt2);
                 break;
         }
     }
     else
         paramStringBuilder.Append(_value);
 }
Beispiel #8
0
        public String ToString(LogicSyntax logicSyntax, NegationSyntax negationSyntax)
        {
            var localStringBuilder = new StringBuilder();

            ToString(localStringBuilder, logicSyntax, negationSyntax);

            return localStringBuilder.ToString();
        }
Beispiel #9
0
        public override void ToString(StringBuilder paramStringBuilder, LogicSyntax paramInt1, NegationSyntax paramInt2)
        {
            if (Negated)
            {
                string value = NegationSyntaxer.GetNegation(paramInt2);
                paramStringBuilder.Append(value);
            }
            if (Parent != null)
            {
                paramStringBuilder.Append("(");
            }
            for (int i = 0; i < _logicBranches.Length; i++)
            {
                if (i > 0)
                {
                    paramStringBuilder.Append(" ");
                    paramStringBuilder.Append(LogicSyntaxer.GetOperatorString(paramInt1, Operator));
                    paramStringBuilder.Append(" ");
                }

                _logicBranches[i].ToString(paramStringBuilder, paramInt1, paramInt2);
            }

            if (Parent != null)
            {
                paramStringBuilder.Append(")");
            }
            if ((Negated) && (paramInt2 == NegationSyntax.After))
                paramStringBuilder.Append("'");
        }
Beispiel #10
0
        public void PrintTrace(LogicSyntax paramInt1, NegationSyntax paramInt2)
        {
            int i = _initialText.Length;
            var localStringBuilder = new StringBuilder();

            for (int j = 0; j < i; j++)
            {
                localStringBuilder.Append(" ");
            }
            String str = localStringBuilder.ToString();
            int k = 1;

            foreach (LogicStep localLogicStep in _steps)
            {
                Console.WriteLine(
                    new StringBuilder().Append(k != 0 ? _initialText : str).Append(" |=| ").Append(
                        localLogicStep.Expression.ToString(paramInt1, paramInt2)).Append(" - ").Append(
                            localLogicStep.Comment).Append(" - ").Append(LogicHandler.GetFormName(localLogicStep.Form)).
                        ToString());

                k = 0;
            }

            Console.WriteLine(new StringBuilder().Append("CNF: ").Append(CNF.ToString(paramInt1, paramInt2)).ToString());
            Console.WriteLine(new StringBuilder().Append("DNF: ").Append(DNF.ToString(paramInt1, paramInt2)).ToString());
        }
Beispiel #11
0
        public override void ToString(StringBuilder paramStringBuilder, LogicSyntax paramInt1, NegationSyntax paramInt2)
        {
            String str = GetOperatorString(paramInt1, Operator);

            if (Negated)
            {
                if (paramInt2 == NegationSyntax.Written)
                    paramStringBuilder.Append("NOT ");
                else if (paramInt2 == NegationSyntax.Before)
                {
                    paramStringBuilder.Append("~");
                }
            }
            paramStringBuilder.Append("(");
            for (int i = 0; i < _logicBranches.Length; i++)
            {
                if (i > 0)
                {
                    paramStringBuilder.Append(" ");
                    paramStringBuilder.Append(str);
                    paramStringBuilder.Append(" ");
                }

                _logicBranches[i].ToString(paramStringBuilder, paramInt1, paramInt2);
            }

            paramStringBuilder.Append(")");
            if ((Negated) && (paramInt2 == NegationSyntax.After))
                paramStringBuilder.Append("'");
        }
Beispiel #12
0
 public abstract void ToString(StringBuilder paramStringBuilder, LogicSyntax paramInt1, NegationSyntax paramInt2);
Beispiel #13
0
 public ParserBlock(LogicExpression paramLogicExpression, LogicSyntax paramInt1, NegationSyntax paramInt2)
 {
     Expression = paramLogicExpression;
     LogicSyntax = paramInt1;
     NegationSyntax = paramInt2;
 }
Beispiel #14
0
 public static string GetNegation(NegationSyntax paramInt2)
 {
     switch (paramInt2)
     {
         case NegationSyntax.Written:
             return "NOT ";
         case NegationSyntax.Before:
             return "~";
         default:
             throw new ArgumentOutOfRangeException("paramInt2", paramInt2, "Invalid negation");
     }
 }
Beispiel #15
0
 public static string GetNegatedString(NegationSyntax negationSyntax, string name)
 {
     switch (negationSyntax)
     {
         case NegationSyntax.Written:
             return "NOT " + name;
         case NegationSyntax.Before:
             return "~" + name;
         case NegationSyntax.After:
             return name + "'";
         default:
             throw new ArgumentOutOfRangeException("negationSyntax","Unknown negationSyntax passed: " + negationSyntax);
     }
 }
Beispiel #16
0
 public ParserSyntax(LogicSyntax paramInt1 = LogicSyntax.Unknown, NegationSyntax paramInt2=NegationSyntax.Unknown)
 {
     LogicSyntax = paramInt1;
     NegationSyntax = paramInt2;
 }
Beispiel #17
0
 public void UpdateNegationSyntax(NegationSyntax negationSyntax)
 {
     if ((NegationSyntax == NegationSyntax.Unknown || (NegationSyntax == negationSyntax)) &&
         (LogicSyntax == LogicSyntax.Unknown || (LogicParser.GetNegationSyntax(LogicSyntax) == negationSyntax)))
     {
         NegationSyntax = negationSyntax;
     }
     else
     {
         throw new DifferentSyntaxesUsedException("Change in logic syntax");
     }
 }
Beispiel #18
0
        public void UpdateLogicSyntax(LogicSyntax paramInt)
        {
            NegationSyntax negationSyntax = LogicParser.GetNegationSyntax(paramInt);

            if ((LogicSyntax    == LogicSyntax.Unknown || (LogicSyntax == paramInt)) &&
                (NegationSyntax == NegationSyntax.Unknown || (negationSyntax == NegationSyntax)))
            {
                LogicSyntax = paramInt;
                NegationSyntax = negationSyntax;
            }
            else
            {
                throw new DifferentSyntaxesUsedException("Change in logic syntax");
            }
        }
Beispiel #19
0
        public String ToString(LogicSyntax paramInt1, NegationSyntax paramInt2)
        {
            var localStringBuilder = new StringBuilder();

            ToString(localStringBuilder, paramInt1, paramInt2);

            return localStringBuilder.ToString();
        }
Beispiel #20
0
 public ParserSyntax(LogicSyntax paramInt1, NegationSyntax paramInt2)
 {
     LogicSyntax = paramInt1;
     NegationSyntax = paramInt2;
 }