code: private Object eval(ExpressionContext expr) {
      Object res = expr;
      while(res instanceof ExpressionContext)
        res = ((ExpressionContext)res).accept(visitor);
      if(res instanceof LValue)
        res = ((LValue) res).get(expr);
      return res;
    }
docs: Evaluate an expression into a value
  
  @param expr Expression to evaluate
  @return Result of expression evaluate