Ejemplo n.º 1
0
 /// <summary>
 /// Accepts a visitor evaluating the logical expression.
 /// </summary>
 /// <param name="visitor">Evaluation visitor.</param>
 /// <returns>True if the expression is logically true. False otherwise.</returns>
 public bool Accept(IExpressionEvalVisitor visitor)
 {
     foreach (var child in Children)
     {
         if (!child.Accept(visitor))
         {
             return(false);
         }
     }
     return(true);
 }
Ejemplo n.º 2
0
 /// <summary>
 /// Accepts a visitor evaluating the logical expression.
 /// </summary>
 /// <param name="visitor">Evaluation visitor.</param>
 /// <returns>True if the expression is logically true. False otherwise.</returns>
 public bool Accept(IExpressionEvalVisitor visitor)
 {
     return(visitor.Visit(this));
 }
Ejemplo n.º 3
0
 /// <summary>
 /// Accepts a visitor evaluating the logical expression.
 /// </summary>
 /// <param name="visitor">Evaluation visitor.</param>
 /// <returns>True if the expression is logically true. False otherwise.</returns>
 public bool Accept(IExpressionEvalVisitor visitor)
 {
     return(Child.Accept(visitor));
 }
Ejemplo n.º 4
0
 /// <summary>
 /// Accepts a visitor evaluating the logical expression.
 /// </summary>
 /// <param name="visitor">Evaluation visitor.</param>
 /// <returns>True if the expression is logically true. False otherwise.</returns>
 public bool Accept(IExpressionEvalVisitor visitor)
 {
     // (a imply b) ~ (not(a) or b)
     return(!LeftChild.Accept(visitor) || RightChild.Accept(visitor));
 }