X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=class-support.lisp;h=eb600eb5b45a2de4d6c5b11ed4919cc833e20ddf;hb=b9fe7fe8b8e24133538f78dbaf6af73b5f0bdec2;hp=dc1fcf368212ad1beb59cf42efd396f3df9c5c7e;hpb=665eda7d4dd35dc0e8905240837463df9bab5b6d;p=umlisp.git diff --git a/class-support.lisp b/class-support.lisp index dc1fcf3..eb600eb 100644 --- a/class-support.lisp +++ b/class-support.lisp @@ -2,15 +2,15 @@ ;;;; ************************************************************************* ;;;; FILE IDENTIFICATION ;;;; -;;;; Name: classes-support.lisp -;;;; Purpose: Support for UMLisp classes -;;;; Author: Kevin M. Rosenberg -;;;; Date Started: Apr 2000 +;;;; Name: classes-support.lisp +;;;; Purpose: Support for UMLisp classes +;;;; Author: Kevin M. Rosenberg +;;;; Created: Apr 2000 ;;;; -;;;; $Id: class-support.lisp,v 1.20 2003/07/31 07:36:55 kevin Exp $ +;;;; $Id$ ;;;; ;;;; This file, part of UMLisp, is -;;;; Copyright (c) 2000-2003 by Kevin M. Rosenberg, M.D. +;;;; Copyright (c) 2000-2006 by Kevin M. Rosenberg, M.D. ;;;; ;;;; UMLisp users are granted the rights to distribute and use this software ;;;; as governed by the terms of the GNU General Public License. @@ -18,7 +18,6 @@ (in-package #:umlisp) - ;;; Formatting routines (defgeneric fmt-cui (c)) @@ -67,7 +66,16 @@ (defmethod fmt-tui ((tui string)) (if (eql (aref tui 0) #\T) tui - (fmt-tui (parse-integer tui)))) + (fmt-tui (parse-integer tui)))) + +(defgeneric fmt-aui (aui)) +(defmethod fmt-aui ((aui fixnum)) + (prefixed-fixnum-string aui #\A 7)) + +(defmethod fmt-aui ((aui string)) + (if (eql (aref aui 0) #\A) + aui + (fmt-aui (parse-integer aui)))) (defgeneric fmt-eui (e)) (defmethod fmt-eui ((e fixnum)) @@ -234,21 +242,23 @@ (defvar +language-abbreviations+ - '(("BAQ" . "Basque") - ("DAN" . "Danish") - ("DUT" . "Dutch") - ("ENG" . "English") - ("FIN" . "Finnish") - ("FRE" . "French") - ("GER" . "German") - ("HEB" . "Hebrew") - ("HUN" . "Hungarian") - ("ITA" . "Italian") - ("NOR" . "Norwegian") - ("POR" . "Portuguese") - ("RUS" . "Russian") - ("SPA" . "Spanish") - ("SWE" . "Swedish"))) + '(("BAQ" . "Basque") + ("CZE" . "Chech") + ("DAN" . "Danish") + ("DUT" . "Dutch") + ("ENG" . "English") + ("FIN" . "Finnish") + ("FRE" . "French") + ("GER" . "German") + ("HEB" . "Hebrew") + ("HUN" . "Hungarian") + ("ITA" . "Italian") + ("JPN" . "Japanese") + ("NOR" . "Norwegian") + ("POR" . "Portuguese") + ("RUS" . "Russian") + ("SPA" . "Spanish") + ("SWE" . "Swedish"))) (defvar *lat-info-table* (make-hash-table :size 30 :test 'equal)) (defvar *is-lat-table-init* nil) @@ -259,7 +269,10 @@ (setq *is-lat-table-init* t)) (defun lat-abbr-info (lat) - (nth-value 0 (gethash (string-downcase lat) *lat-info-table*))) + (aif (nth-value 0 (gethash (string-downcase lat) *lat-info-table*)) + it + lat)) + (defun stt-abbr-info (stt) @@ -324,7 +337,7 @@ (let* ((anc-this-cxn (remove-if-not (lambda (cxt) (= (1+ i) (cxn cxt))) anc))) (push - (sort anc-this-cxn (lambda (a b) (< (rnk a) (rnk b)))) + (sort anc-this-cxn (lambda (a b) (< (rank a) (rank b)))) anc-lists)))))