X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=data-structures.lisp;h=fc55f9c2599ab63914bada260d7d5f3062198a67;hb=2038ce2f480179fd23cb3ded6fa1250e61e22029;hp=ca9ef9bc719c096ef39707ca792851e007eced96;hpb=9713ebfd8e6ac341920ed53c25ab009d5ce4c806;p=umlisp.git diff --git a/data-structures.lisp b/data-structures.lisp index ca9ef9b..fc55f9c 100644 --- a/data-structures.lisp +++ b/data-structures.lisp @@ -7,10 +7,10 @@ ;;;; Author: Kevin M. Rosenberg ;;;; Date Started: Apr 2000 ;;;; -;;;; $Id: data-structures.lisp,v 1.7 2003/05/06 06:09:29 kevin Exp $ +;;;; $Id: data-structures.lisp,v 1.12 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. @@ -18,9 +18,6 @@ (in-package #:umlisp) -(eval-when (:compile-toplevel) - (declaim (optimize (speed 3) (safety 1) (compilation-speed 0) (debug 3)))) - ;;; Paths for files (defvar *umls-path* @@ -57,40 +54,46 @@ ;; Preliminary objects to replace structures (defclass ufile () - ((fil :initarg :fil) - (table :initarg :table) - (des :initarg :des) - (fmt :initarg :fmt) - (cls :initarg :cls) - (rws :initarg :rws) - (bts :initarg :bts) - (fields :initarg :fields) - (ucols :initarg ucols)) - (:documentation "A UMLS File")) + ((fil :initarg :fil :accessor fil) + (table :initarg :table :accessor table) + (des :initarg :des :accessor des) + (fmt :initarg :fmt :accessor fmt) + (cls :initarg :cls :accessor cls) + (rws :initarg :rws :accessor rws) + (bts :initarg :bts :accessor bts) + (fields :initarg :fields :accessor fields) + (ucols :initarg :ucols :accessor ucols)) + (:default-initargs :fil nil :table nil :des nil :fmt nil :cls nil :rws nil :bts nil + :fields nil :ucols nil) + (:documentation "UMLS File")) (defclass ucol () - ((col :initarg :col) - (des :initarg des) - (ref :initarg ref) - (min :initarg :min) - (av :initarg :av) - (max :initarg :max) - (fil :initarg :fil) - (sqltype :initarg :sqltype) - (dty :initarg :dty :documentation "new in 2002: suggested SQL datatype") - (parsefunc :initarg :parsefunc) - (quotechar :initarg :quotechar) - (datatype :initarg :datatype) - (custom-value-func :initarg :custom-value-func)) - (:documentation "A UMLS column")) - -(defstruct (umls-file) - "Record for each UMLS File" - fil table des fmt cls rws bts fields colstructs) - -(defstruct (umls-col) - "Record for each UMLS Column in each file" - col des ref min av max fil sqltype - dty ;; new in 2002 umls: suggested SQL datatype - parsefunc quotechar datatype custom-value-func) - + ((col :initarg :col :accessor col) + (des :initarg :des :accessor des) + (ref :initarg :ref :accessor ref) + (min :initarg :min :accessor cmin) + (av :initarg :av :accessor av) + (max :initarg :max :accessor cmax) + (fil :initarg :fil :accessor fil) + (sqltype :initarg :sqltype :accessor sqltype) + (dty :initarg :dty :accessor dty :documentation "new in 2002: suggested SQL datatype") + (parse-fun :initarg :parse-fun :accessor parse-fun) + (quote-str :initarg :quote-str :accessor quote-str) + (datatype :initarg :datatype :accessor datatype) + (custom-value-fun :initarg :custom-value-fun :accessor custom-value-fun)) + (:default-initargs :col nil :des nil :ref nil :min nil :av nil :max nil :fil nil + :sqltype nil :dty nil :parse-fun nil :datatype nil + :custom-value-fun nil) + (:documentation "UMLS column")) + + +(defmethod print-object ((obj ufile) (s stream)) + (print-unreadable-object (obj s :type t) + (format s "~A" (fil obj)))) + +(defmethod print-object ((obj ucol) (s stream)) + (print-unreadable-object (obj s :type t) + (format s "~A" (col obj)))) + + +