示例#1
0
 private void ParsePredicateExpression(PredicateExpressionContext node)
 {
     foreach (var child in node.children)
     {
         if (child is ExpressionAtomPredicateContext atom)
         {
             this.ParseExpressionAtom(atom);
         }
         else if (child is BinaryComparasionPredicateContext binary)
         {
             foreach (var binaryChild in binary.children)
             {
                 if (binaryChild is ExpressionAtomPredicateContext expAtom)
                 {
                     this.ParseExpressionAtom(expAtom);
                 }
                 else if (binaryChild is ComparisonOperatorContext comparison)
                 {
                     foreach (var comparionChild in comparison.children)
                     {
                         if (comparionChild is TerminalNodeImpl terminalNode)
                         {
                             this.Write(terminalNode.GetText());
                         }
                     }
                 }
             }
         }
     }
 }
示例#2
0
 public static QsiExpressionNode VisitPredicateExpression(PredicateExpressionContext context)
 {
     return(VisitPredicate(context.predicate()));
 }