Prolog interpreter and query visualizer
VIPER, short for VIPER Interactive Prolog Education Runtime, is a Java application that can run Prolog programs and visualize the execution of queries.
This software was created as a project of the Software Engineering Practice course at the Karlsruhe Institute of Technology.
- Parser, formatter and interpreter for a subset of the Prolog language inlcuding cut, arithmetics and lists
- Jump back and forth between query execution steps and solutions
- Export of visualizations as
.png
and.svg
images - Sample programs
- Standard library including list operations and math functions (factorial, fibonacci, ...)
- Multiple languages
To contribute to the project, just open a pull request on GitHub. Please make sure to match our existing git conventions:
- Prefix your commit message with a short topic, e.g. "spec:"
- Use the imperative form ("Add", "Fix", ...) with the first word being capitalized
- The title does not end with a dot
- When updating your local branch to import changes made in master, use the pull --rebase option to prevent merge commits
Also, please run ./gradlew build
to make sure your code doesn't break any tests and is valid against our Checkstyle rules.
VIPER is published under the MIT license.
The software makes use of:
- Apache Batik (Apache License)
- graphviz-java (Apache License)
- RSyntaxTextArea (modified BSD License)
- Liberation Serif (SIL Open Font License)