;;;; Author: Kevin M. Rosenberg
;;;; Date Started: Apr 2000
;;;;
-;;;; $Id: parse-2002.lisp,v 1.10 2003/05/07 21:57:06 kevin Exp $
+;;;; $Id: parse-2002.lisp,v 1.12 2003/05/08 04:36:12 kevin Exp $
;;;;
;;;; This file, part of UMLisp, is
;;;; Copyright (c) 2000-2002 by Kevin M. Rosenberg, M.D.
(declaim (optimize (speed 3) (safety 1) (compilation-speed 0) (debug 3))))
;;; Pre-read data for custom fields into hash tables
-(defvar *parse-hash-init?* nil)
+(defvar *preparse-hash-init?* nil)
(eval-when (:compile-toplevel :load-toplevel :execute)
(let ((pfstr-hash nil) ;;; Preferred concept strings by CUI
(cuisui-lrl-hash nil) ;;; LRL by CUISUI
(sab-srl-hash nil)) ;;; SRL by SAB
- (defun make-parse-hash-table ()
+ (defun make-preparse-hash-table ()
(if pfstr-hash
(progn
(clrhash pfstr-hash)
cuisui-lrl-hash (make-hash-table :size 1800000)
sab-srl-hash (make-hash-table :size 100 :test 'equal))))
- (defun binit-hash-table (&optional (force-read nil))
- (when (or force-read (not *parse-hash-init?*))
- (make-parse-hash-table)
- (setq *parse-hash-init?* t))
+ (defun buffered-ensure-preparse (&optional (force-read nil))
+ (when (or force-read (not *preparse-hash-init?*))
+ (make-preparse-hash-table)
+ (setq *preparse-hash-init?* t))
(with-buffered-umls-file (line "MRCON")
(let ((cui (parse-ui (aref line 0)))
(lui (parse-ui (aref line 3)))
(unless (gethash sab sab-srl-hash) ;; if haven't stored
(setf (gethash sab sab-srl-hash) (aref line 6))))))
- (defun init-hash-table (&optional (force-read nil))
- (when (or force-read (not *parse-hash-init?*))
- (make-parse-hash-table)
- (setq *parse-hash-init?* t))
+ (defun ensure-preparse (&optional (force-read nil))
+ (when (or force-read (not *preparse-hash-init?*))
+ (make-preparse-hash-table)
+ (setq *preparse-hash-init?* t))
(with-umls-file (line "MRCON")
(let ((cui (parse-ui (nth 0 line)))
(lui (parse-ui (nth 3 line)))
(gethash cuisui cuisui-lrl-hash))
(defun sab-srl (sab)
- (kmrcl:aif (gethash sab sab-srl-hash) kmrcl::it 0))
+ (aif (gethash sab sab-srl-hash) it 0))
)) ;; closure
(defun set-lrl-hash (key lrl hash)
(loop for customcol in +custom-cols+
collect
(make-ucol (nth 1 customcol) "" 0 0 0 (nth 3 customcol)
- (nth 0 customcol) nil :sqltype (nth 2 customcol))))
+ (nth 0 customcol) nil :sqltype (nth 2 customcol)
+ :custom-value-fun (nth 4 customcol))))
(defun gen-ucols-generic (col-filename)
"Initialize for generic (LEX/NET) columns"