public object Visit(ASTExplicitHighAndBond node, object data) { object left = node.JjtGetChild(0).JjtAccept(this, data); if (node.JjtGetNumChildren() == 1) { return(left); } LogicalOperatorBond bond = new LogicalOperatorBond(builder) { Operator = "and", Left = (IQueryBond)left }; IQueryBond right = (IQueryBond)node.JjtGetChild(1).JjtAccept(this, data); bond.Right = right; return(bond); }
public object Visit(ASTNotBond node, object data) { object left = node.JjtGetChild(0).JjtAccept(this, data); if (node.Type == SMARTSParserConstants.NOT) { LogicalOperatorBond bond = new LogicalOperatorBond(builder) { Operator = "not", Left = (IQueryBond)left }; return(bond); } else { return(left); } }