Skip to content
This repository has been archived by the owner on Feb 15, 2020. It is now read-only.
/ viper Public archive

VIPER Interactive Prolog Education Runtime

License

Notifications You must be signed in to change notification settings

viper-pse/viper

Repository files navigation

VIPER

Prolog interpreter and query visualizer

release license

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.

Features

  • 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

Contributing

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.

License

VIPER is published under the MIT license.

The software makes use of: