;; isa-syntax.el Syntax expressions for Isabelle ;; (require 'proof-syntax) ;; ----- keywords for font-lock. (defvar isa-keywords-decl '( )) (defvar isa-keywords-defn '( "bind_thm" )) (defvar isa-keywords-goal '( "goal" )) (defvar isa-keywords-save '( "qed" )) (defvar isa-keywords-kill-goal '( )) (defvar isa-keywords-commands '( "by" "goal" )) ;; See isa-command-table in Isamode/isa-menus.el to get this list. (defvar isa-tactics '( "resolve_tac" "assume_tac" )) (defvar isa-keywords (append isa-keywords-goal isa-keywords-save isa-keywords-decl isa-keywords-defn isa-keywords-commands isa-tactics) "All keywords in a Isa script") (defvar isa-tacticals '( "REPEAT" "THEN" "ORELSE" "TRY" )) ;; ----- regular expressions ;; this should come from isa-ml-compiler stuff. (defvar isa-error-regexp "^.*Error:" "A regular expression indicating that the Isa process has identified an error.") (defvar isa-id proof-id) (defvar isa-ids (proof-ids isa-id)) (defun isa-abstr-regexp (paren char) (concat paren "\\s-*\\(" isa-ids "\\)\\s-*" char)) (defvar isa-font-lock-terms (list ;; lambda binders (list (isa-abstr-regexp "\\[" ":") 1 'font-lock-declaration-name-face) ;; Pi binders (list (isa-abstr-regexp "(" ":") 1 'font-lock-declaration-name-face) ;; Kinds (cons (concat "\\\\|\\\\|\\