Esempio n. 1
0
        public LoxVoid VisitConditionalExpr(Expr.Conditional expr)
        {
            Resolve(expr.Condition);
            Resolve(expr.TrueExpr);
            Resolve(expr.FalseExpr);

            return(null);
        }
 public object VisitConditionalExpr(Expr.Conditional expr)
 {
     if (IsTruthy(Evaluate(expr.ifExpr)))
     {
         return(Evaluate(expr.thenBranch));
     }
     else
     {
         return(Evaluate(expr.elseBranch));
     }
 }
Esempio n. 3
0
        public object VisitConditionalExpr(Expr.Conditional expr)
        {
            object condition = Evalutate(expr.Condition);

            if (IsTruthy(condition))
            {
                return(Evalutate(expr.TrueExpr));
            }
            else
            {
                return(Evalutate(expr.FalseExpr));
            }
        }
Esempio n. 4
0
        private Expr Conditional()
        {
            Expr expr = Or();

            if (Match(QUESTION))
            {
                Expr ifThen = Expression();
                Consume(COLON, "Expected ':' in conditional expression.");
                Expr ifElse = Conditional();
                expr = new Expr.Conditional(expr, ifThen, ifElse);
            }
            return(expr);
        }
Esempio n. 5
0
 public object VisitConditionalExpr(Expr.Conditional expr)
 {
     throw new System.NotImplementedException();
 }
Esempio n. 6
0
 public string VisitConditionalExpr(Expr.Conditional expr)
 {
     return(Parenthesize("?:", expr.Condition, expr.TrueExpr, expr.FalseExpr));
 }
Esempio n. 7
0
 public string VisitConditional(Expr.Conditional expr)
 {
     throw new NotImplementedException();
 }