Exemplo n.º 1
0
 static bool Write_FS_TS_U(Transpiler t, ClauseExpr d)
 {
     t.WriteLine("foreach({0} {1} in bwxTask.Context.QueryType({2}))",
                 d.Subject.Type, t.Translate(d.Subject), t.Translate(d.Subject.AtomTypeExpr));
     t.StartBlock(null);
     Write_U(t, d);
     return(false);
 }
 static bool Write_FO(Transpiler t, ClauseExpr d)
 {
     if (d.IsMeta)
     {
         t.WriteLine("{0} {1} = ({0})_bwxClause[{2}];",
                     d.Type, t.Translate(d.Object), t.Translate(d.Predicate));
         return(false);
     }
     t.WriteLine("foreach({0} {1} in bwxTask.Context.QuerySubjPred<{0}>({2}, {3}))",
                 d.Type, t.Translate(d.Object), t.Translate(d.Subject), t.Translate(d.Predicate));
     return(true);
 }
Exemplo n.º 3
0
        //
        static bool Write_Default(Transpiler t, ClauseExpr d)
        {
            if (d.IsProperty)
            {
                t.WriteLine("if (_bwxClause != null && _bwxClause.Exists<{0}>({1}, {2}))",
                            d.Predicate.ToPredicate().Spec, t.Translate(d.Predicate), t.Translate(d.Object));
            }

            /*else if (d.HasMetaDefs)
             * {
             *  t.WriteLine("_bwxClause = bwxTask.Context.Find(new ClausePattern({0}, {1}, {2}));",
             *      t.Translate(d.Subject), t.Translate(d.Predicate), t.Translate(d.Object));
             *  t.WriteLine("if (_bwxClause != null)");
             * }*/
            else
            {
                if (d.Object.IsSnippet)
                {
                    t.WriteLine("if(bwxTask.Context.Exists<{0}>({1}, {2}, {3}))",
                                d.Type, t.Translate(d.Subject), t.Translate(d.Predicate), t.Translate(d.Object));
                }
                else
                {
                    t.WriteLine("if(bwxTask.Context.Exists({0}, {1}, {2}))",
                                t.Translate(d.Subject), t.Translate(d.Predicate), t.Translate(d.Object));
                }
            }
            return(false);
        }
Exemplo n.º 4
0
 static bool Write_B(Transpiler t, ClauseExpr d)
 {
     t.WriteLine("if({0} {1} {2})",
                 t.Translate(d.Subject), t.Translate(d.Predicate), t.Translate(d.Object));
     return(false);
 }
Exemplo n.º 5
0
 static bool Write_U(Transpiler t, ClauseExpr d)
 {
     t.WriteLine("if(!bwxTask.Context.Exists({0}, {1}, {2}))",
                 t.Translate(d.Subject), t.Translate(d.Predicate), t.Translate(d.Object));
     return(false);
 }
Exemplo n.º 6
0
 //
 static bool Write_FS(Transpiler t, ClauseExpr d)
 {
     t.WriteLine("foreach({0} {1} in bwxTask.Context.QueryPredObj({2}, {3}))",
                 "Atom", t.Translate(d.Subject), t.Translate(d.Predicate), t.Translate(d.Object));
     return(true);
 }
Exemplo n.º 7
0
 //
 static bool Write_TS(Transpiler t, ClauseExpr d)
 {
     t.WriteLine("if({0}.TypeCheck({1}) && bwxTask.Context.Exists({0}, {2}, {3}))",
                 t.Translate(d.Subject), t.Translate(d.Subject.AtomTypeExpr), t.Translate(d.Predicate), t.Translate(d.Object));
     return(false);
 }