Viper language support for Emacs.
- Z3 (tested with versions 4.8.7 and 4.12.1)
- Boogie (for using carbon as a backend)
- ViperServer
This package is under heavy development and does not support all Viper features. Thus, it is not published in any package archives.
To install it, one must clone the repository:
git clone [email protected]:viperproject/vpr-mode.gitThen, add the following lines in your init.el.
(add-to-list 'load-path "<vpr-mode path>")
(use-package vpr-mode)Last the following variables must be set
(setq vpr-z3-path "<path/to/z3 exe>")
(setq vpr-viperserver-path "/path/to/viperserver.jar")
(setq vpr-boogie-path "<path/to/boogie exe>") ; required only for running viper with carbonIf you want the verification to happen on save:
(add-hook 'after-save-hook #'vpr-verify)Note that the name of the mode is vpr-mode to not clash with the built-in viper-mode.
Current keybindings are:
C-c C-c: Start Viper serverC-c C-v: Verify this fileC-c C-x: Stop Viper serverC-c C-b: Alternate the backend between silicon and carbonC-c C-a: Edit the arguments given to Viper through a construction buffer
This project is maintained by Dionisios Spiliopoulos