;ELC ;;; compiled by doro@uni-koblenz.de on Fri Jul 31 16:27:22 1998 ;;; from file /lab/ki2/systems/PROTEIN/protein.el ;;; emacs version 20.4 "Emerald" XEmacs Lucid. ;;; bytecomp version 2.25 XEmacs; 22-Mar-96. ;;; optimization is on. ;;; this file uses opcodes which do not exist in Emacs 19. (if (and (boundp 'emacs-version) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "20"))) (error "`protein.el' was compiled for Emacs 20")) (or (boundp 'current-load-list) (setq current-load-list nil)) (byte-code "! B! B! B‡" [boundp protein-mode-map nil current-load-list protein-mode-syntax-table protein-mode-hook] 2) #@66 This constant holds the Protein flags with their default values. (defconst protein-flag-table '((ancestry_rme ("on" "off") "off") (ancs ("off" "pos" "neg" "pos_dj" "both_dj" "both") "both") (answers ("one" "more" "all") "one") (answer_set_handling ("on" "off") "on") (calculus ("me" "rme" "hyper") "me") (check_flags ("[]" "[protein_flag(calculus,rme)]" "[protein_flag(calculus,hyper)]") "[]") (costs ("(red_cut,0)" "(factor_cut,0)" "(red,0)" "(factor,0)" "(fact,0)" "(th_fact,0)" "(ext,1)" "(th_start_1,1)" "(th_start,1,1)" "(query,1)" "(restart,1)" "(th_red_cut,0)" "(th_red,0)" "(th_ext,2)") "defaults" t) (ctest ("now" "store" "end" "protein") "now") (definite_answers ("on" "off") "off") (delayed_rme ("off" "cut" "nocut") "off") (depth_increment ("1" "2" "3" "4" "5" "6" "7" "8" "9" "10" "11" "12" "13" "14" "15" "16" "17" "18" "19" "20" "25" "30" "40" "50") "1") (ec_pruning ("on" "off") "off") (factorisation ("off" "nocut" "cut" "both") "cut") (head_behind_prolog ("on" "off") "off") (max_rew_cond ("0" "1" "2" "3" "100") "0") (mmr ("wgcwa" "gcwa" "model" "off") "off") (mode ("pl0" "pl1") "pl1") (out_stream ("user") "user") (priority ("(red_cut,2)" "(factor_cut,3)" "(red,4)" "(factor,5)" "(fact,6)" "(th_fact,cl+6)" "(ext,cl)" "(th_start_1,cl+1)" "(th_start,cl+1)" "(th_red_cut,2)" "(th_red,3)" "(th_ext,cl)") "defaults" t) (query_reuse ("on" "off") "on") (reduction ("off" "nocut" "cut" "both") "both") (regularity ("off" "nodelay" "delay") "delay") (reorder ("off" "groundness") "off") (rewrite ("flat" "deep") "flat") (selection_function ("on" "off") "off") (search ("prolog" "id_tree" "id_inf" "id_term") "id_tree") (sim_dynamic ("off" "cut" "nocut" "mixed") "nocut") (sim_static ("off" "uncond" "all") "uncond") (sim_deletion ("keep" "del" "complete") "complete") (sim_focus ("all" "query") "query") (sorting ("costs" "input") "costs") (strict_rme ("on" "off") "off") (th_nonewclauses ("on" "off") "off") (th_reduction ("off" "nocut" "cut" "both") "both") (th_regularity ("off" "nodelay" "delay") "delay") (th_sidelit_anc ("on" "off") "off") (timeout ("1" "10" "60" "120" "300" "600" "1800" "3600" "7200" "43200")) (trace ("off" "info" "internal" "dynamic(0)" "dynamic(1)" "dynamic(2)" "dynamic(5)" "dynamic(10)") "info") (translate ("all" "plain_theory" "without_query") "all")) (#$ . 695)) #@46 Build a completion list with the flag-names. (defalias 'protein-make-flagname-completion-table #[(flag-list) "@@!CA!B" [flag-list nil symbol-name protein-make-flagname-completion-table] 3 (#$ . 3010)]) #@62 This constant contains a completion table for the flagnames. (defconst protein-flagname-completion-table (protein-make-flagname-completion-table protein-flag-table) (#$ . 3228)) (byte-code " \n#\n#\n#\n#\n#\n#\n#\n#\n#\n#\n#\n#\n)!!\"\"\"E'\"(# \n#\n#\n#\n#\n#\n#\n#\n#\n#\n#\n#\n#\n#\n)\"" [protein-mode-syntax-table make-syntax-table table modify-syntax-entry ?\/ ". 14" ?\* ". 23" ?\% "< b" ?\n "> b" ?\_ "w" ?\\ "\\" ?\' "\"" ?\+ "." ?\- ?\= ?\< ?\> load-library "prolog" require font-lock copy-face default protein-simplify-face set-face-foreground "#1e7198" font-lock-comment-face protein-comment-face append ("^begin(\\(?:simplify\\|theory\\))[.]\\(\\(.\\|\n\\)*?\\)end(\\(?:simplify\\|theory\\))[.]" 1 protein-simplify-face t) ("\\(/\\*\\(.\\|\n\\)*?\\*/\\)" 1 protein-comment-face nil) ("%.*$" 0 protein-comment-face nil) prolog-font-lock-keywords protein-font-lock-keywords put protein-mode font-lock-defaults (protein-font-lock-keywords t nil ((?\% . "<") (?\n . ">")) backward-paragraph) "<" ">" ?\~ define-abbrev-table protein-mode-abbrev-table nil] 4) #@35 Define protein-mode command-keys. (defalias 'protein-mode-command-keys #[(key-map) " # # # # \" #" [define-key key-map "" protein-execute "" protein-read-and-set-flag "" protein-wipe-flags "" otter2protein string-match "XEmacs\\|Lucid" emacs-version button3 protein-popup-menu] 4 (#$ . 4445)]) (byte-code " !" [protein-mode-map make-sparse-keymap protein-mode-command-keys] 2) #@151 Major mode for editing and running code for the Protein theorem prover. Commands: \{protein-mode-map} On entry call the value of 'protein-mode-hook'. (defalias 'protein-mode #[nil " \n! ! !  \"!\" !" [kill-all-local-variables use-local-map protein-mode-map set-syntax-table protein-mode-syntax-table protein-mode-abbrev-table local-abbrev-table make-local-variable comment-start "%" protein-mode major-mode "Protein" mode-name string-match "XEmacs\\|Lucid" emacs-version set-buffer-menubar current-menubar add-submenu nil protein-menu set-menubar-dirty-flag run-hooks protein-mode-hook] 3 (#$ . 4872) nil]) (byte-code "\nB" ["^ *protein_flag( *" protein-flag-header current-load-list] 2) #@44 This function builds a menu for the flags. (defalias 'protein-make-flag-menu #[(flag-list) "@@@A@ ! \n\"BA!*B" [flag-list nil type flag symbol-name protein-make-type-menu protein-make-flag-menu] 4 (#$ . 5610)]) (defalias 'protein-make-type-menu #[(flag type) "@ D@E# A\"B" [type nil vector protein-set-flag quote flag t protein-make-type-menu] 5]) (byte-code " !\" B" [append ("Protein" ["Otter -> Protein" (otter2protein) :keys "C-c C-o"] "---" ["Run Protein" (protein-execute) :keys "C-c C-c"] "---" ["Set Flag" (protein-read-and-set-flag) :keys "C-c C-f"] "---") protein-make-flag-menu protein-flag-table protein-menu current-load-list] 4) #@58 This function pops up the Protein menu (mouse button 3). (defalias 'protein-popup-menu #[nil "\nAB!" [popup-menu "Protein Menu" protein-menu] 3 (#$ . 6295) nil]) #@56 This function sets point to found flag or returns nil. (defalias 'protein-find-flag #[(flag-name) " \nP#" [re-search-forward protein-flag-header flag-name nil t] 4 (#$ . 6466)]) #@56 This function sets point to found flag or returns nil. (defalias 'protein-multiple-value-find-flag #[(flag-name value) "\n\"\n O R# T!˪*" [string-match "[ ]*," value extended-key-end 0 extended-key re-search-forward protein-flag-header flag-name "," nil t backward-char] 5 (#$ . 6654)]) (defalias 'protein-set-flag #[(flag &optional value) " \n\" !\" AA@ AAA??eb !!  ! \" eb !Pc!  c cc," [assoc flag protein-flag-table flag-definition error "Unknown flag: " symbol-name multiple-value-flag flag-default protein-find-flag kill-line protein-multiple-value-find-flag value "protein_flag(" open-line 1 "," ")."] 5]) (defalias 'protein-read-and-set-flag #[nil "\n$k !\n\" P! A@ AA@ Q\"k R!\"-)" [completing-read "Flag: " protein-flagname-completion-table nil t flag-name "" intern flag assoc protein-flag-table flag-definition error "Unknown flag: " flag-type flag-default read-string " Value: " flag-value "Unknown value for flag " ": " protein-set-flag] 6 nil nil]) #@70 This function checks flag definitions and removes them if redundant. (defalias 'protein-wipe-flags #[nil "eb # A! !\n \"A@k \n!k !P# o) ))1)" [re-search-forward protein-flag-header nil t protein-recognize-flag protein-flag-table flag protein-delete-line looking-at " *, *on" value assoc eval symbol-name] 5 (#$ . 7763) nil]) #@22 Delete current line. (defalias 'protein-delete-line #[nil "y \n?!" [0 kill-line kill-whole-line delete-backward-char 1] 2 (#$ . 8148)]) #@49 This function returns the flag at point or nil. (defalias 'protein-recognize-flag #[(flag-list) "@@\n!P!\n!!\nA!)" [flag-list nil flag looking-at " *" symbol-name re-search-forward protein-recognize-flag] 4 (#$ . 8299)]) #@101 This routine calls the Protein theorem prover with current buffer. Output is given in a new window. (defalias 'protein-execute #[nil " Q!" [save-buffer shell-command "protein " protein-buffer-filename-without-extension "&"] 4 (#$ . 8547) nil]) #@68 This function returns the name of the .tme file without extension. (defalias 'protein-buffer-filename-without-extension #[nil " GZO" [buffer-file-name 0 4] 4 (#$ . 8805)]) #@60 This function transforms otter syntax into protein syntax. (defalias 'otter2protein #[nil "ed$" [shell-command-on-region "tr '[t-z][A-S]|$' '[T-Z][a-s]; '" t] 5 (#$ . 8989) nil]) (provide 'protein)