public static void main(String[] args) throws IOException{
            DBInterpreter interpreter;
            DBUserController userController;
            DBExecutor executor;
            Query query;
            InputStream input;

            if (args.length != 1) {
                System.out.println("Use: minidbms <userName>");
                return;
            }

                String userName = args[0];

                userController = new DBUserController(userName);

                input = System.in;
                interpreter = new DBInterpreter(input);


                executor = new DBExecutor();
                while(true){
                        try {
                                //Prompt when in interactive mode
                                if(input == System.in){
                                        System.out.print("YSQL>>");
                                }
                                query = interpreter.Query();

                                query = userController.userCheck(query);

                                if(query != null){
                                        executor.execute(query);
                                }

                                if(input != System.in && input.available() == 0){
                                        return;
                                }
                        } catch (ParseException ex) {
                                System.err.println(ex.getMessage());
                                return;
                        } catch (Error ex){
                                System.err.println(ex.getMessage());
                                return;
                        } catch (IOException ex){
                                System.err.println("YSQL: IO Exception");
                                return;
                        }
                }


     }