Exemplo n.º 1
0
        private Expr And()
        {
            var expr = Equality();

            while (Match(AND))
            {
                var @operator = Previous();
                var right     = Equality();
                expr = new Expr.LogicalExpr(expr, @operator, right);
            }

            return(expr);
        }
Exemplo n.º 2
0
        private Expr Or()
        {
            var expr = And();

            while (Match(OR))
            {
                var @operator = Previous();
                var right     = And();
                expr = new Expr.LogicalExpr(expr, @operator, right);
            }

            return(expr);
        }
Exemplo n.º 3
0
 public string VisitLogicalExpr(Expr.LogicalExpr expr)
 {
     return(Parenthesize(expr.Operator.Lexeme, expr.Left, expr.Right));
 }
Exemplo n.º 4
0
 public object VisitLogicalExpr(Expr.LogicalExpr expr)
 {
     Resolve(expr.Left);
     Resolve(expr.Right);
     return(null);
 }