PrettyProlog: A Java Interpreter and Visualizer of Prolog Programs