Esempio n. 1
0
        public override PDLPred ToPDL(List <MonaMacro> macros, Dictionary <string, string> sub)
        {
            var m1 = pos1.ToPDL(macros, sub);
            var m2 = pos2.ToPDL(macros, sub);

            switch (op)
            {
            case MonaPosComparisonOperator.Eq:
            {
                return(new PDLPosEq(m1, m2));
            }

            case MonaPosComparisonOperator.Ge: return(new PDLPosGe(m1, m2));

            case MonaPosComparisonOperator.Geq: return(new PDLPosGeq(m1, m2));

            case MonaPosComparisonOperator.Le:
            {
                return(new PDLPosLe(m1, m2));
            }

            case MonaPosComparisonOperator.Leq: return(new PDLPosLe(m1, m2));

            default: throw new MonaException("Undefined operator");
            }
        }
Esempio n. 2
0
        public override PDLPos ToPDL(List <MonaMacro> macros, Dictionary <string, string> sub)
        {
            switch (op)
            {
            case MonaPosUnaryConstructor.Succ:
            {
                return(new PDLSuccessor(pos.ToPDL(macros, sub)));
            }

            default: throw new MonaException("undefined operator");
            }
        }
Esempio n. 3
0
 public override PDLPred ToPDL(List <MonaMacro> macros, Dictionary <string, string> sub)
 {
     return(new PDLBelongs(pos.ToPDL(macros, sub), set.ToPDL(macros, sub)));
 }