|
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using bsn.GoldParser.Semantic;
using System.CodeDom;
namespace EntityMapper.Semantic
{
[Terminal("==")]
public class EqualEqualOperator : BinaryOperator
{
public override CodeBinaryOperatorExpression Evaluate(CodeExpression left, CodeExpression right)
{
return new CodeBinaryOperatorExpression(left, CodeBinaryOperatorType.ValueEquality, right);
}
}
[Terminal("<>")]
public class NotEqualOperator : BinaryOperator
{
public override CodeBinaryOperatorExpression Evaluate(CodeExpression left, CodeExpression right)
{
return new CodeBinaryOperatorExpression(new CodePrimitiveExpression(false), CodeBinaryOperatorType.ValueEquality, new CodeBinaryOperatorExpression(left, CodeBinaryOperatorType.ValueEquality, right));
}
}
[Terminal("<")]
public class LTOperator : BinaryOperator
{
public override CodeBinaryOperatorExpression Evaluate(CodeExpression left, CodeExpression right)
{
return new CodeBinaryOperatorExpression(left, CodeBinaryOperatorType.LessThan, right);
}
}
[Terminal("<=")]
public class LTEOperator : BinaryOperator
{
public override CodeBinaryOperatorExpression Evaluate(CodeExpression left, CodeExpression right)
{
return new CodeBinaryOperatorExpression(left, CodeBinaryOperatorType.LessThanOrEqual, right);
}
}
[Terminal(">")]
public class GTOperator : BinaryOperator
{
public override CodeBinaryOperatorExpression Evaluate(CodeExpression left, CodeExpression right)
{
return new CodeBinaryOperatorExpression(left, CodeBinaryOperatorType.GreaterThan, right);
}
}
[Terminal(">=")]
public class GTEOperator : BinaryOperator
{
public override CodeBinaryOperatorExpression Evaluate(CodeExpression left, CodeExpression right)
{
return new CodeBinaryOperatorExpression(left, CodeBinaryOperatorType.GreaterThanOrEqual, right);
}
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
I am always interested in finding innovative ways for building better applications and founded a technology company since 2003. Welcome to exchange any idea with you and if I am not too busy before deadline of projects, I will reply your emails. Also, if you willing to pay for consulting works and customized software development, you can leave me message.