79a7f2de0a7e933d26b64d35b2801618ff015954Klaus Luettich
371f5dc849998cacf3cf316a23ecabea1bbfa40aHeng JiangThis README belongs to the casl-mode for GNU emacs and XEmacs,
79a7f2de0a7e933d26b64d35b2801618ff015954Klaus Luettichwhich consists of three emacs lisp files (casl.el, casl-mode.el and
79a7f2de0a7e933d26b64d35b2801618ff015954Klaus Luettichcasl-indent.el) and it may be redistributed under the terms of the
79a7f2de0a7e933d26b64d35b2801618ff015954Klaus LuettichLICENCE.txt also found in this distribution.
79a7f2de0a7e933d26b64d35b2801618ff015954Klaus Luettich
79a7f2de0a7e933d26b64d35b2801618ff015954Klaus LuettichThe Copyright of this emacs mode is held by the University of Bremen,
f81e2d6503446bd2faff80f4364632dbc61f4658Christian MaederGermany, Klaus Luettich and Heng Jiang. Please contact for bug reports,
f81e2d6503446bd2faff80f4364632dbc61f4658Christian Maedercomments and any other requests <hets-devel@informatik.uni-bremen.de>.
79a7f2de0a7e933d26b64d35b2801618ff015954Klaus Luettich
79a7f2de0a7e933d26b64d35b2801618ff015954Klaus LuettichThis emacs mode provides syntax highlighting, indentation and analysis
79a7f2de0a7e933d26b64d35b2801618ff015954Klaus Luettichvia hets for CASL and HetCASL specifications.
79a7f2de0a7e933d26b64d35b2801618ff015954Klaus Luettich
371f5dc849998cacf3cf316a23ecabea1bbfa40aHeng JiangThe emacs mode is loaded by adding the following to your .emacs file for
371f5dc849998cacf3cf316a23ecabea1bbfa40aHeng JiangGNU emacs and ~/.xemacs/custom.el for XEmacs, provided all three casl*.el
371f5dc849998cacf3cf316a23ecabea1bbfa40aHeng Jiangfiles are kept in one directory (casl_el in the example):
79a7f2de0a7e933d26b64d35b2801618ff015954Klaus Luettich
79a7f2de0a7e933d26b64d35b2801618ff015954Klaus Luettich(load-file "<path-to-here>/casl_el/casl.el")
79a7f2de0a7e933d26b64d35b2801618ff015954Klaus Luettich
79a7f2de0a7e933d26b64d35b2801618ff015954Klaus LuettichAfterwards the casl-mode is loaded for files ending with ".het" and
79a7f2de0a7e933d26b64d35b2801618ff015954Klaus Luettich".casl" automatically.
79a7f2de0a7e933d26b64d35b2801618ff015954Klaus Luettich
79a7f2de0a7e933d26b64d35b2801618ff015954Klaus LuettichRunning hets from the emacs mode:
79a7f2de0a7e933d26b64d35b2801618ff015954Klaus Luettich
79a7f2de0a7e933d26b64d35b2801618ff015954Klaus LuettichIf you do not have the hets binary in your PATH environment variable
79a7f2de0a7e933d26b64d35b2801618ff015954Klaus Luettichand not in one of the recognized paths, you may set (after loading
79a7f2de0a7e933d26b64d35b2801618ff015954Klaus Luettichcasl.el) the path to your hets binary with the following line in your
79a7f2de0a7e933d26b64d35b2801618ff015954Klaus Luettich.emacs file or interactively for the current session via M-x
79a7f2de0a7e933d26b64d35b2801618ff015954Klaus Luettichset-variable:
79a7f2de0a7e933d26b64d35b2801618ff015954Klaus Luettich
292cf108f4872d0d70d314b8111807130b482a5fChristian Maeder(setq hets-program "~/bin/hets")
79a7f2de0a7e933d26b64d35b2801618ff015954Klaus Luettich
79a7f2de0a7e933d26b64d35b2801618ff015954Klaus LuettichIf you don't set the variable explicitly the directories
79a7f2de0a7e933d26b64d35b2801618ff015954Klaus Luettich "<path-to-here>/casl_el/../.."
79a7f2de0a7e933d26b64d35b2801618ff015954Klaus Luettichand
79a7f2de0a7e933d26b64d35b2801618ff015954Klaus Luettich "<path-to-here>/casl_el/../../bin"
79a7f2de0a7e933d26b64d35b2801618ff015954Klaus Luettichare searched for an executable called hets.
79a7f2de0a7e933d26b64d35b2801618ff015954Klaus Luettich
79a7f2de0a7e933d26b64d35b2801618ff015954Klaus LuettichThe following keycodes are available for checking CASL files from
79a7f2de0a7e933d26b64d35b2801618ff015954Klaus Luettichwithin GNU emacs:
79a7f2de0a7e933d26b64d35b2801618ff015954Klaus Luettich
79a7f2de0a7e933d26b64d35b2801618ff015954Klaus Luettich C-c C-r runs hets with static analysis
2d7f5779b0b1d3779ab6ae44bf3ecdcbffb96680Christoph Lange C-c C-c runs hets with static analysis and graphical user interface (GUI)
79a7f2de0a7e933d26b64d35b2801618ff015954Klaus Luettich
79a7f2de0a7e933d26b64d35b2801618ff015954Klaus Luettich C-c C-n steps through the errors if any
79a7f2de0a7e933d26b64d35b2801618ff015954Klaus Luettich
79a7f2de0a7e933d26b64d35b2801618ff015954Klaus LuettichFurthermore, you can set (also interactively with M-x set-variable)
79a7f2de0a7e933d26b64d35b2801618ff015954Klaus Luettichthe variable "casl-hets-options" to a string of hets command-line
79a7f2de0a7e933d26b64d35b2801618ff015954Klaus Luetticharguments like this:
79a7f2de0a7e933d26b64d35b2801618ff015954Klaus Luettich
79a7f2de0a7e933d26b64d35b2801618ff015954Klaus Luettich(setq casl-hets-options "-v2 -o prf")
79a7f2de0a7e933d26b64d35b2801618ff015954Klaus Luettich
79a7f2de0a7e933d26b64d35b2801618ff015954Klaus LuettichThe string of additional options is initially empty and it is
79a7f2de0a7e933d26b64d35b2801618ff015954Klaus Luettichrecognized by both functions starting hets, with and without GUI.