public static void main(String[] args) throws Exception {
        SMPLEnvironment environment = new SMPLEnvironment();
        SMPLEvaluator visitor = new SMPLEvaluator();

        System.out.println("SMPL Interpreter.");
        System.out.println("Press Ctrl-C to exit");

        if (args.length == 0) {
            while (true) {
                parseEvalShow(System.in, visitor, environment);
            }
        } else {

            try {
                parseEvalShow(new FileInputStream(new File(args[0])), visitor, environment);
            } catch (FileNotFoundException fnfe) {
                System.out.println("Error: File \"" + args[0] + "\" does not exist!");
            }

            while (true) {
                try {
                    parseEvalShow(System.in, visitor, environment);
                } catch (Exception e) {
                    System.out.println("SyntaxError");
                }
            }
        }
    }