X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=data-structures.lisp;h=ca9ef9bc719c096ef39707ca792851e007eced96;hb=9713ebfd8e6ac341920ed53c25ab009d5ce4c806;hp=a6b1f02abf8dc7797b4b454618c6c6fa00c9f284;hpb=a4059115211d7e774a1552e26911dc1c2e725ce0;p=umlisp.git diff --git a/data-structures.lisp b/data-structures.lisp index a6b1f02..ca9ef9b 100644 --- a/data-structures.lisp +++ b/data-structures.lisp @@ -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. @@ -16,9 +16,10 @@ ;;;; 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 @@ -52,3 +53,44 @@ (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) +