Example #1
0
 public object visitTernaryExpr(Expr.Ternary expr)
 {
     resolve(expr.Cond);
     resolve(expr.IfTrue);
     resolve(expr.IfFalse);
     return(null);
 }
        public object visitTernaryExpr(Expr.Ternary expr)
        {
            bool cond = isTruthy(evaluate(expr.Cond));

            if (cond)
            {
                return(evaluate(expr.IfTrue));
            }
            else
            {
                return(evaluate(expr.IfFalse));
            }
        }
Example #3
0
        private Expr ternary()
        {
            // expression     → equality ( "?" equality ":" equality )?;
            Expr expr = equality();

            if (match(TokenType.QUEST))
            {
                Expr ifTrue = expression();
                consume(TokenType.COLON, "Expected : after ? expresion");
                Expr ifFalse = expression();
                expr = new Expr.Ternary(expr, ifTrue, ifFalse);
            }
            return(expr);
        }
 public string visitTernaryExpr(Expr.Ternary expr)
 {
     return(parenthesize("ternary", expr.Cond, expr.IfTrue, expr.IfFalse));
 }