コード例 #1
0
        public object Visit(ASTOrExpression node, object data)
        {
            object left = node.JjtGetChild(0).JjtAccept(this, data);

            if (node.JjtGetNumChildren() == 1)
            {
                return(left);
            }
            var right = (IQueryAtom)node.JjtGetChild(1).JjtAccept(this, data);

            return(LogicalOperatorAtom.Or((IQueryAtom)left, right));
        }
コード例 #2
0
ファイル: Smarts2MQLVisitor.cs プロジェクト: ch-hristov/NCDK
        public object Visit(ASTOrExpression node, object data)
        {
            string left = (string)node.JjtGetChild(0).JjtAccept(this, data);

            if (node.JjtGetNumChildren() == 1)
            {
                return(left);
            }
            string right = (string)node.JjtGetChild(1).JjtAccept(this, data);

            if (left.Length == 0)
            {
                return(right);
            }
            else if (right.Length == 0)
            {
                return(left);
            }
            else
            {
                return(left + "|" + right);
            }
        }