Example #1
0
        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);
        }
Example #2
0
        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);
            }
        }