From d8dffa49bdf7c1c8cbede60fe9273f193c83bf29 Mon Sep 17 00:00:00 2001 From: David Aspinall Date: Wed, 17 Nov 1999 13:53:42 +0000 Subject: Support for X-Symbol --- isar/x-symbol-isar.el | 227 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 227 insertions(+) create mode 100644 isar/x-symbol-isar.el diff --git a/isar/x-symbol-isar.el b/isar/x-symbol-isar.el new file mode 100644 index 00000000..0981f5ac --- /dev/null +++ b/isar/x-symbol-isar.el @@ -0,0 +1,227 @@ +;; ID: $Id$ +;; Author: David von Oheimb +;; Copyright 1998 Technische Universitaet Muenchen +;; token language "Isabelle Symbols" for package x-symbol +;; +;; NB: this file is copied directly from isa/x-symbol-isa.el + +(provide 'x-symbol-isar) +(defvar x-symbol-isar-required-fonts nil) + +(defvar x-symbol-isar-header-groups-alist nil) +;'(("Operator" bigop operator) +; ("Relation" relation) +; ("Arrow, Punctuation" arrow triangle shape +; white line dots punctuation quote parenthesis) +; ("Symbol" symbol currency mathletter setsymbol) +; ("Greek Letter" greek greek1) +; ("Acute, Grave" acute grave)) +; "*If non-nil, used in isasym specific grid/menu. + +(defvar x-symbol-isar-class-alist + '((VALID "Isabelle Symbol" (x-symbol-info-face)) + (INVALID "no Isabelle Symbol" (red x-symbol-info-face)))) +(defvar x-symbol-isar-class-face-alist nil) +(defvar x-symbol-isar-electric-ignore nil) + +(defvar x-symbol-isar-font-lock-keywords nil) +(defvar x-symbol-isar-master-directory 'ignore) +(defvar x-symbol-isar-image-searchpath '("./")) +(defvar x-symbol-isar-image-cached-dirs '("images/" "pictures/")) +(defvar x-symbol-isar-image-file-truename-alist nil) +(defvar x-symbol-isar-image-keywords nil) + +(defvar x-symbol-isar-case-insensitive nil) +;(defvar x-symbol-isar-token-shape '(?\\ "\\\\\\<[A-Za-z][A-Za-z0-9_']*>\\a'" . "[A-Za-z]")) +(defvar x-symbol-isar-token-shape nil) + +(defvar x-symbol-isar-exec-specs '(nil ("\\`\\\\<[A-Za-z][A-Za-z0-9_']*>\\'" . + "\\\\<[A-Za-z][A-Za-z0-9_']*>"))) + +(defvar x-symbol-isar-input-token-ignore nil) +(defun x-symbol-isar-default-token-list (tokens) tokens) + + +(defvar x-symbol-isar-token-list 'x-symbol-isar-default-token-list) + +(defvar x-symbol-isar-symbol-table '(;;symbols (isabelle14 font) + (visiblespace () "\\\\" "\\") + (Gamma () "\\\\" "\\") + (Delta () "\\\\" "\\") + (Theta () "\\\\" "\\") + (Lambda () "\\\\" "\\") + (Pi () "\\\\" "\\") + (Sigma () "\\\\" "\\") + (Phi () "\\\\" "\\") + (Psi () "\\\\" "\\") + (Omega () "\\\\" "\\") + (alpha () "\\\\" "\\") + (beta () "\\\\" "\\") + (gamma () "\\\\" "\\") + (delta () "\\\\" "\\") + (epsilon1 () "\\\\" "\\") + (zeta () "\\\\" "\\") + (eta () "\\\\" "\\") + (theta1 () "\\\\" "\\") + (kappa1 () "\\\\" "\\") + (lambda () "\\\\" "\\") + (mu () "\\\\" "\\") + (nu () "\\\\" "\\") + (xi () "\\\\" "\\") + (pi () "\\\\" "\\") + (rho () "\\\\" "\\") + (sigma () "\\\\" "\\") + (tau () "\\\\" "\\") + (phi1 () "\\\\" "\\") + (chi () "\\\\" "\\") + (psi () "\\\\" "\\") + (omega () "\\\\" "\\") + (notsign () "\\\\" "\\") + (logicaland () "\\\\" "\\") + (logicalor () "\\\\" "\\") + (universal1 () "\\\\" "\\") + (existential1 () "\\\\" "\\") + (biglogicaland () "\\\\" "\\") + (ceilingleft () "\\\\" "\\") + (ceilingright () "\\\\" "\\") + (floorleft () "\\\\" "\\") + (floorright () "\\\\" "\\") + (bardash () "\\\\" "\\") + (bardashdbl () "\\\\" "\\") + (semanticsleft () "\\\\" "\\") + (semanticsright () "\\\\" "\\") + (periodcentered () "\\\\" "\\") + (element () "\\\\" "\\") + (reflexsubset () "\\\\" "\\") + (intersection () "\\\\" "\\") + (union () "\\\\" "\\") + (bigintersection () "\\\\" "\\") + (bigunion () "\\\\" "\\") + (sqintersection () "\\\\" "\\") + (squnion () "\\\\" "\\") + (bigsqintersection () "\\\\" "\\") + (bigsqunion () "\\\\" "\\") + (perpendicular1 () "\\\\" "\\") + (dotequal () "\\\\" "\\") + (equivalence () "\\\\" "\\") + (notequal () "\\\\" "\\") + (propersqsubset () "\\\\" "\\") + (reflexsqsubset () "\\\\" "\\") + (properprec () "\\\\" "\\") + (reflexprec () "\\\\" "\\") + (propersucc () "\\\\" "\\") + (approxequal () "\\\\" "\\") + (similar () "\\\\" "\\") + (simequal () "\\\\" "\\") + (lessequal () "\\\\" "\\") + (coloncolon () "\\\\" "\\") + (arrowleft () "\\\\" "\\") + (endash () "\\\\" "\\") + (arrowright () "\\\\" "\\") + (arrowdblleft () "\\\\" "\\") +; (rightleftharpoons () "\\\\" "\\") ;missing symbol (but not necessary) + (arrowdblright () "\\\\" "\\") + (frown () "\\\\" "\\") + (mapsto () "\\\\" "\\") + (leadsto () "\\\\" "\\") + (arrowup () "\\\\" "\\") + (arrowdown () "\\\\" "\\") + (notelement () "\\\\" "\\") + (multiply () "\\\\" "\\") + (circleplus () "\\\\" "\\") + (circleminus () "\\\\" "\\") + (circlemultiply () "\\\\" "\\") + (circleslash () "\\\\" "\\") + (propersubset () "\\\\" "\\") + (infinity () "\\\\" "\\") + (box () "\\\\" "\\") + (lozenge1 () "\\\\" "\\") + (circ () "\\\\" "\\") + (bullet () "\\\\" "\\") + (bardbl () "\\\\" "\\") + (radical () "\\\\" "\\") + (copyright () "\\\\" "\\") + )) +(defvar x-symbol-isar-xsymbol-table '(;;xsymbols + (plusminus () "\\\\" "\\") + (division () "\\\\
" "\\
") + (longarrowright () "\\\\" "\\") + (longarrowleft () "\\\\" "\\") + (longarrowboth () "\\\\" "\\") + (longarrowdblright () "\\\\" "\\") + (longarrowdblleft () "\\\\" "\\") + (longarrowdblboth () "\\\\" "\\") + (brokenbar () "\\\\" "\\") + (hyphen () "\\\\" "\\") + (macron () "\\\\" "\\") + (exclamdown () "\\\\" "\\") + (questiondown () "\\\\" "\\") + (guillemotleft () "\\\\" "\\") + (guillemotright () "\\\\" "\\") + (degree () "\\\\" "\\") + (onesuperior () "\\\\" "\\") + (onequarter () "\\\\" "\\") + (twosuperior () "\\\\" "\\") + (onehalf () "\\\\" "\\") + (threesuperior () "\\\\" "\\") + (threequarters () "\\\\" "\\") + (paragraph () "\\\\" "\\") + (registered () "\\\\" "\\") + (ordfeminine () "\\\\" "\\") + (ordmasculine () "\\\\" "\\") + (section () "\\\\
" "\\
") + (pounds () "\\\\" "\\") + (yen () "\\\\" "\\") + (cent () "\\\\" "\\") + (currency () "\\\\" "\\") + )) +(defvar x-symbol-isar-user-table nil) +(defvar x-symbol-isar-table + (append x-symbol-isar-user-table + (append x-symbol-isar-symbol-table x-symbol-isar-xsymbol-table))) + +;;;=========================================================================== +;;; Internal +;;;=========================================================================== + +(defvar x-symbol-isar-menu-alist nil + "Internal. Alist used for Isasym specific menu.") +(defvar x-symbol-isar-grid-alist nil + "Internal. Alist used for Isasym specific grid.") + +(defvar x-symbol-isar-decode-atree nil + "Internal. Atree used by `x-symbol-token-input'.") +(defvar x-symbol-isar-decode-alist nil + "Internal. Alist used for decoding of Isasym macros.") +(defvar x-symbol-isar-encode-alist nil + "Internal. Alist used for encoding to Isasym macros.") + +(defvar x-symbol-isar-nomule-decode-exec nil + "Internal. File name of Isasym decode executable.") +(defvar x-symbol-isar-nomule-encode-exec nil + "Internal. File name of Isasym encode executable.") + + + +;;;=========================================================================== +;;; useful key bindings +;;;=========================================================================== + + +;; FIXME: these break some standard bindings, and should only be set +;; for proof shell, script (or minibuffer) modes. + +;(global-set-key [(meta l)] 'x-symbol-INSERT-lambda) + +;(global-set-key [(meta n)] 'x-symbol-INSERT-notsign) +;(global-set-key [(meta a)] 'x-symbol-INSERT-logicaland) +;(global-set-key [(meta o)] 'x-symbol-INSERT-logicalor) +;(global-set-key [(meta f)] 'x-symbol-INSERT-universal1) +;(global-set-key [(meta t)] 'x-symbol-INSERT-existential1) + +;(global-set-key [(meta A)] 'x-symbol-INSERT-biglogicaland) +;(global-set-key [(meta e)] 'x-symbol-INSERT-equivalence) +;(global-set-key [(meta u)] 'x-symbol-INSERT-notequal) +;(global-set-key [(meta m)] 'x-symbol-INSERT-arrowdblright) + +;(global-set-key [(meta i)] 'x-symbol-INSERT-longarrowright) -- cgit v1.2.3