コード例 #1
0
        Dlr getDlr()
        {
            var aToken = childs.Dequeue();
            var asig   = aToken as Operator;

            if (asig != null && asig.type == OperatorType.OpenParenthesis)
            {
                return(getDlr());
            }
            var a = aToken as Value;

            if (childs.count == 0)
            {
                return(a.value);
            }
            var op = childs.Dequeue() as Operator;

            if (op.type == OperatorType.CloseParenthesis)
            {
                return(Dlr.Constant(a.value));
            }
            var b = getValue();

            switch (op.type)
            {
            case OperatorType.Add: return(Dlr.Add(Dlr.Constant(a.value), Dlr.Constant(b)));

            case OperatorType.Subtract: return(Dlr.Subtract(Dlr.Constant(a.value), Dlr.Constant(b)));

            case OperatorType.Divide: return(Dlr.Divide(Dlr.Constant(a.value), Dlr.Constant(b)));

            case OperatorType.Multiply: return(Dlr.Multiply(Dlr.Constant(a.value), Dlr.Constant(b)));
            }
            return(Dlr.Empty());
        }
コード例 #2
0
        public void TypeIs()
        {
            var expected =
                LinqExpression.TypeIs(
                    LinqExpression.Empty(),
                    typeof(object));

            const string actual = @"
@prefix : <http://example.com/> .
@prefix xt: <http://example.com/ExpressionTypes/> .

:s
    :typeBinaryExpressionType xt:TypeIs ;
    :typeBinaryExpression [
        a :Empty ;
    ];
    :typeBinaryType [
        :typeName ""System.Object"" ;
    ] ;
.
";

            ShouldBe(actual, expected);
        }
コード例 #3
0
 protected internal override MAst Transform()
 {
     return(MAst.Empty());
 }
コード例 #4
0
 public virtual DLR ToDlr()
 {
     return(DLR.Empty());
 }