Example #1
0
        private ITripleExpression MulDiv()
        {
            ITripleExpression left = Atomic();

            while (true)
            {
                switch (current)
                {
                case State.asterisk:
                    left = new Multiply(left, Atomic());
                    break;

                case State.slash:
                    left = new Divide(left, Atomic());
                    break;

                case State.mod:
                    left = new Mod(left, Atomic());
                    break;

                default:
                    return(left);
                }
            }
        }
Example #2
0
        private ITripleExpression Shifts()
        {
            ITripleExpression left = AddSubt();

            while (true)
            {
                switch (current)
                {
                case State.shiftLeft:
                    left = new ShiftLeft(left, AddSubt());
                    break;

                case State.shiftRight:
                    left = new ShiftRight(left, AddSubt());
                    break;

                default:
                    return(left);
                }
            }
        }
Example #3
0
        private ITripleExpression AddSubt()
        {
            ITripleExpression left = MulDiv();

            while (true)
            {
                switch (current)
                {
                case State.minus:
                    left = new Subtract(left, MulDiv());
                    break;

                case State.plus:
                    left = new Add(left, MulDiv());
                    break;

                default:
                    return(left);
                }
            }
        }
Example #4
0
 public Add(ITripleExpression first, ITripleExpression second)
 {
     fOp = first;
     sOp = second;
 }
Example #5
0
 public Subtract(ITripleExpression <T> first, ITripleExpression <T> second, IOperator <T> op)
 {
     fOp     = first;
     sOp     = second;
     base.op = op;
 }
Example #6
0
 public Square(ITripleExpression value)
 {
     this.value = value;
 }
Example #7
0
 public ShiftLeft(ITripleExpression first, ITripleExpression second)
 {
     fOp = first;
     sOp = second;
 }
Example #8
0
 public CheckedSubtract(ITripleExpression first, ITripleExpression second)
 {
     fOp = first;
     sOp = second;
 }
Example #9
0
 public Abs(ITripleExpression <T> value, IOperator <T> op)
 {
     this.value = value;
     this.op    = op;
 }
Example #10
0
 public BinaryOperator(ITripleExpression <T> first, ITripleExpression <T> second, IOperator <T> op)
 {
     fOp     = first;
     sOp     = second;
     this.op = op;
 }
Example #11
0
 public Divide(ITripleExpression first, ITripleExpression second)
 {
     fOp = first;
     sOp = second;
 }
Example #12
0
 public Abs(ITripleExpression value)
 {
     this.value = value;
 }
Example #13
0
 public CheckedMultiply(ITripleExpression first, ITripleExpression second)
 {
     fOp = first;
     sOp = second;
 }
Example #14
0
 public CheckedNegate(ITripleExpression value)
 {
     this.value = value;
 }
Example #15
0
 public CheckedSqrt(ITripleExpression value)
 {
     this.value = value;
 }