Filtering...

names

books/xdoc/names
other
(in-package "XDOC")
other
(include-book "str")
other
(include-book "std/strings/printtree-concat" :dir :system)
other
(program)
funny-char-codefunction
(defun funny-char-code
  (x acc)
  (declare (type character x))
  (b* ((code (char-code x)) (high (ash code -4))
      (low (logand code 15)))
    (list* (digit-to-char high)
      (digit-to-char low)
      acc)))
file-name-mangle-auxfunction
(defun file-name-mangle-aux
  (x n xl acc)
  (declare (type string x))
  (b* (((when (= n xl)) acc) (char (char x n))
      ((when (or (and (char<= #\a char) (char<= char #\z))
           (and (char<= #\A char) (char<= char #\Z))
           (and (char<= #\0 char) (char<= char #\9))
           (eql char #\-)
           (eql char #\.))) (file-name-mangle-aux x
          (+ n 1)
          xl
          (cons char acc)))
      ((when (eql char #\:)) (file-name-mangle-aux x
          (+ n 1)
          xl
          (list* #\_ #\_ acc))))
    (file-name-mangle-aux x
      (+ n 1)
      xl
      (funny-char-code char (cons #\_ acc)))))
file-name-manglefunction
(defun file-name-mangle
  (x acc)
  (declare (type symbol x))
  (b* ((str (cat (symbol-package-name x)
         "::"
         (symbol-name x))))
    (file-name-mangle-aux str
      0
      (length str)
      acc)))
urlfunction
(defun url
  (x)
  (declare (type symbol x))
  (rchars-to-string (file-name-mangle x nil)))
in-package-pfunction
(defun in-package-p
  (sym base-pkg)
  (equal (intern-in-package-of-symbol (symbol-name sym)
      base-pkg)
    sym))
sneaky-downcasefunction
(defun sneaky-downcase
  (x)
  (b* ((down (downcase-string x)))
    (strsubst "acl2" "ACL2" down)))
name-lowfunction
(defun name-low
  (name)
  (declare (type string name))
  (b* ((has-lowercase-p (string-has-some-down-alpha-p name
         0
         (length name))) (name-low (if has-lowercase-p
          name
          (sneaky-downcase name))))
    name-low))
seefunction
(defun see
  (x)
  (declare (type symbol x))
  (b* ((acc nil) (acc (revappend-chars "<see topic="" acc))
      (acc (file-name-mangle x acc))
      (acc (revappend-chars "">" acc))
      (low (name-low (symbol-name x)))
      (acc (simple-html-encode-str low
          0
          (length low)
          acc))
      (acc (revappend-chars "</see>" acc)))
    (rchars-to-string acc)))
other
(encapsulate nil
  (logic)
  (defstub base-pkg-display-override
    (base-pkg)
    t)
  (defun base-pkg-display-override-default
    (base-pkg)
    (declare (xargs :mode :logic :guard t))
    base-pkg)
  (defattach base-pkg-display-override
    base-pkg-display-override-default))
other
(encapsulate nil
  (logic)
  (encapsulate (((rendered-name *) =>
       *
       :formals (name)
       :guard (stringp name)))
    (local (defun rendered-name (x) x)))
  (defun rendered-name-default
    (name)
    (declare (xargs :mode :logic :guard (stringp name)))
    name)
  (defattach rendered-name
    rendered-name-default))
sym-manglefunction
(defun sym-mangle
  (x base-pkg archive-p acc)
  (b* (((when archive-p) (b* ((acc (printtree-rconcat "@(sym |" acc)) (acc (if (in-package-p x base-pkg)
               acc
               (b* ((acc (printtree-rconcat (symbol-package-name x)
                      acc)))
                 (printtree-rconcat "|::|" acc))))
           (acc (printtree-rconcat (symbol-name x) acc)))
         (printtree-rconcat "|)" acc))) (base-pkg (base-pkg-display-override base-pkg))
      (name-low (name-low (rendered-name (symbol-name x))))
      (acc (if (in-package-p x base-pkg)
          acc
          (let ((pkg-low (name-low (symbol-package-name x))))
            (list* #\:
              #\:
              (simple-html-encode-chars (explode pkg-low)
                acc))))))
    (simple-html-encode-chars (explode name-low)
      acc)))
sym-mangle-capfunction
(defun sym-mangle-cap
  (x base-pkg archive-p acc)
  (b* (((when archive-p) (b* ((acc (printtree-rconcat "@(csym |" acc)) (acc (if (in-package-p x base-pkg)
               acc
               (b* ((acc (printtree-rconcat (symbol-package-name x)
                      acc)))
                 (printtree-rconcat "|::|" acc))))
           (acc (printtree-rconcat (symbol-name x) acc)))
         (printtree-rconcat "|)" acc))) (base-pkg (base-pkg-display-override base-pkg))
      (name-low (name-low (rendered-name (symbol-name x))))
      ((when (in-package-p x base-pkg)) (let* ((name-cap (upcase-first name-low)))
          (simple-html-encode-chars (explode name-cap)
            acc)))
      (pkg-low (name-low (symbol-package-name x)))
      (pkg-cap (upcase-first pkg-low))
      (acc (list* #\:
          #\:
          (simple-html-encode-chars (explode pkg-cap)
            acc))))
    (simple-html-encode-chars (explode name-low)
      acc)))