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); }
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; }
public ArithmValueEvaluator(ArithmExprEvaluator val) { simpleVal = null; arithmVal = val; }