public void parseVisitShow(Visitor<S, T> interp, Reader reader) {
        FractalParser parser;
        ASTProgram program = null;

        System.out.print(PROMPT);
        try {
            parser = new FractalParser(new FractalLexer(reader));
            program = (ASTProgram) parser.parse().value;
        } catch (Exception e) {
            System.out.println("Parse Error: " + e.getMessage());
        }

        if (program != null) {
            try {
                T result;
                // A null state indicates that this is the entry call to interp
                result = program.visit(interp, null);
                System.out.println("\nResult: " + result);
            } catch (Exception e) {
                System.out.println(e.getMessage());
            }
        }
    }