r4837: Auto commit for Debian build
[umlisp.git] / data-structures.lisp
index a6b1f02abf8dc7797b4b454618c6c6fa00c9f284..ca9ef9bc719c096ef39707ca792851e007eced96 100644 (file)
@@ -4,10 +4,10 @@
 ;;;;
 ;;;; Name:          data-structures.lisp
 ;;;; Purpose:       Basic data objects for UMLisp
-;;;; Programmer:    Kevin M. Rosenberg
+;;;; Author:        Kevin M. Rosenberg
 ;;;; Date Started:  Apr 2000
 ;;;;
-;;;; $Id: data-structures.lisp,v 1.5 2002/12/23 21:59:44 kevin Exp $
+;;;; $Id: data-structures.lisp,v 1.7 2003/05/06 06:09:29 kevin Exp $
 ;;;;
 ;;;; This file, part of UMLisp, is
 ;;;;    Copyright (c) 2000-2002 by Kevin M. Rosenberg, M.D.
 ;;;; as governed by the terms of the GNU General Public License.
 ;;;; *************************************************************************
 
-(in-package :umlisp)
-(declaim (optimize (speed 3) (safety 1) (compilation-speed 0) (debug 3)))
+(in-package #:umlisp)
 
+(eval-when (:compile-toplevel)
+  (declaim (optimize (speed 3) (safety 1) (compilation-speed 0) (debug 3))))
 
 ;;; Paths for files
 
 (defparameter *umls-cols* nil 
   "List of meta column structures. Used when parsing text files.")
 
+
+;; 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"))
+
+(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)
+