private ArithmExprEvaluator GetArithmExpr()
        {
            var ret = new ArithmExprEvaluator();

            ret.expr = GetAdditionSubtractionExpr();
            return(ret);
        }
 public IfStatement(ArithmExprEvaluator e1, RelationEvalutator relOp, ArithmExprEvaluator e2, Queue <Statement> stat, Queue <Statement> elseStat)
 {
     expr1          = e1;
     relationOp     = relOp;
     expr2          = e2;
     statements     = stat;
     elseStatements = elseStat;
 }
 private ArithmExprEvaluator AcceptNestedArithmExpr()
 {
     if (Accept(TokenType.ParenthesisLeft))
     {
         ArithmExprEvaluator expr = GetArithmExpr();
         Expect(TokenType.ParenthesisRight);
         return(expr);
     }
     return(null);
 }
Ejemplo n.º 4
0
        public bool eval(ArithmExprEvaluator expr1, ArithmExprEvaluator expr2)
        {
            switch (relationOp)
            {
            case "==":
                if (expr1.eval() == expr2.eval())
                {
                    return(true);
                }
                break;

            case "!=":
                if (expr1.eval() != expr2.eval())
                {
                    return(true);
                }
                break;

            case ">=":
                if (expr1.eval() >= expr2.eval())
                {
                    return(true);
                }
                break;

            case ">":
                if (expr1.eval() > expr2.eval())
                {
                    return(true);
                }
                break;

            case "<=":
                if (expr1.eval() <= expr2.eval())
                {
                    return(true);
                }
                break;

            case "<":
                if (expr1.eval() < expr2.eval())
                {
                    return(true);
                }
                break;

            default:
                throw new UnexpectedException("Bad relation operator! CRITICAL ERROR!!!");
            }
            return(false);
        }
 public AssignmentStatement(ValueEvaluator idd, ArithmExprEvaluator arguments)
 {
     ids = idd;
     arithmeticExpression = arguments;
 }
Ejemplo n.º 6
0
 public ArithmValueEvaluator(ArithmExprEvaluator val)
 {
     simpleVal = null;
     arithmVal = val;
 }