;;;; Author: Kevin M. Rosenberg
;;;; Date Started: Apr 2000
;;;;
-;;;; $Id: parse-common.lisp,v 1.11 2003/05/07 22:54:16 kevin Exp $
+;;;; $Id: parse-common.lisp,v 1.15 2003/06/10 22:30:16 kevin Exp $
;;;;
;;;; This file, part of UMLisp, is
-;;;; Copyright (c) 2000-2002 by Kevin M. Rosenberg, M.D.
+;;;; Copyright (c) 2000-2003 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.
(eval-when (:compile-toplevel)
(declaim (optimize (speed 3) (safety 1) (compilation-speed 0) (debug 3))))
-(defun ensure-init-umls (&optional (alwaysclear nil))
+(defun ensure-ucols+ufiles (&optional (alwaysclear nil))
"Initialize all UMLS file and column structures if not already initialized"
(when (or alwaysclear (null *umls-files*))
(gen-ucols)
(defun ensure-compiled-fun (fun)
"Ensure that a function is compiled"
(etypecase fun
+ (null
+ nil)
(function
(if (compiled-function-p fun)
fun
ucol))
(defun make-empty-ucol (colname filename)
- (warn "call in make-empty-ucol")
+ ;;(format "call in make-empty-ucol: ~A/~A" colname filename)
(make-ucol (copy-seq colname) "Unknown" "" nil nil nil filename nil))
(defun find-ucol (colname filename)
"Returns umls-file structure for a filename"
(find-if #'(lambda (f) (string-equal filename (fil f))) *umls-files*))
-(defun find-ucols-for-filename (filename)
+(defun find-ucols-for-ufile (ufile)
"Returns list of umls-cols for a file structure"
- (loop for colname in (fields (find-ufile filename))
- collect (find-ucol colname filename)))
+ (loop for colname in (fields ufile)
+ collect (find-ucol colname (fil ufile))))
(defun umls-field-string-to-list (fmt)
"Converts a comma delimited list of fields into a list of field names. Will
(defun make-ufile (fil des table cls rws bts fields)
(let ((ufile (make-instance 'ufile :fil fil :des des :table table :cls cls
:rws rws :bts bts :fields fields)))
- (setf (ucols ufile) (find-ucols-for-filename fil))
+ (setf (ucols ufile) (find-ucols-for-ufile ufile))
ufile))
(defun datatype-for-colname (colname)