;;;; *************************************************************************
;;;; FILE IDENTIFICATION
;;;;
-;;;; Name: classes-support.lisp
-;;;; Purpose: Support for UMLisp classes
-;;;; Author: Kevin M. Rosenberg
-;;;; Date Started: Apr 2000
+;;;; Name: classes-support.lisp
+;;;; Purpose: Support for UMLisp classes
+;;;; Author: Kevin M. Rosenberg
+;;;; Created: Apr 2000
;;;;
;;;; $Id$
;;;;
;;;; This file, part of UMLisp, is
-;;;; Copyright (c) 2000-2003 by Kevin M. Rosenberg, M.D.
+;;;; Copyright (c) 2000-2004 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.
(in-package #:umlisp)
-
;;; Formatting routines
(defgeneric fmt-cui (c))
;;;; *************************************************************************
;;;; FILE IDENTIFICATION
;;;;
-;;;; Name: classes.lisp
-;;;; Purpose: Class defintions for UMLisp
-;;;; Programmer: Kevin M. Rosenberg
-;;;; Date Started: Apr 2000
+;;;; Name: classes.lisp
+;;;; Purpose: Class defintions for UMLisp
+;;;; Author: Kevin M. Rosenberg
+;;;; Created: Apr 2000
;;;;
;;;; $Id$
;;;;
;;;; This file, part of UMLisp, is
-;;;; Copyright (c) 2000-2003 by Kevin M. Rosenberg, M.D.
+;;;; Copyright (c) 2000-2004 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.
;;;; *************************************************************************
;;;; FILE IDENTIFICATION
;;;;
-;;;; Name: composite.lisp
-;;;; Purpose: Composite Classes for UMLisp
-;;;; Author: Kevin M. Rosenberg
-;;;; Date Started: Apr 2000
+;;;; Name: composite.lisp
+;;;; Purpose: Composite Classes for UMLisp
+;;;; Author: Kevin M. Rosenberg
+;;;; Created: Apr 2000
;;;;
;;;; $Id$
;;;;
;;;; This file, part of UMLisp, is
-;;;; Copyright (c) 2000-2003 by Kevin M. Rosenberg, M.D.
+;;;; Copyright (c) 2000-2004 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.
(in-package #:umlisp)
-
;;; Semantic type constants
(defun find-tui-word (words)
;;;; *************************************************************************
;;;; FILE IDENTIFICATION
;;;;
-;;;; Name: sql-create
-;;;; Purpose: Create SQL database for UMLisp
-;;;; Author: Kevin M. Rosenberg
-;;;; Date Started: Apr 2000
+;;;; Name: sql-create
+;;;; Purpose: Create SQL database for UMLisp
+;;;; Author: Kevin M. Rosenberg
+;;;; Created: Apr 2000
;;;;
;;;; $Id$
;;;;
;;;; This file, part of UMLisp, is
-;;;; Copyright (c) 2000-2003 by Kevin M. Rosenberg, M.D.
+;;;; Copyright (c) 2000-2004 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.
;;;; *************************************************************************
;;;; FILE IDENTIFICATION
;;;;
-;;;; Name: data-structures.lisp
-;;;; Purpose: Basic data objects for UMLisp
-;;;; Author: Kevin M. Rosenberg
-;;;; Date Started: Apr 2000
+;;;; Name: data-structures.lisp
+;;;; Purpose: Basic data objects for UMLisp
+;;;; Author: Kevin M. Rosenberg
+;;;; Created: Apr 2000
;;;;
;;;; $Id$
;;;;
;;;; *************************************************************************
;;;; FILE IDENTIFICATION
;;;;
-;;;; Name: package.lisp
-;;;; Purpose: Package definition for UMLisp
-;;;; Programmer: Kevin M. Rosenberg
-;;;; Date Started: Apr 2000
+;;;; Name: package.lisp
+;;;; Purpose: Package definition for UMLisp
+;;;; Author: Kevin M. Rosenberg
+;;;; Created: Apr 2000
;;;;
;;;; $Id$
;;;;
;;;; This file, part of UMLisp, is
-;;;; Copyright (c) 2000-2003 by Kevin M. Rosenberg, M.D.
+;;;; Copyright (c) 2000-2004 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.
;;;; *************************************************************************
;;;; FILE IDENTIFICATION
;;;;
-;;;; Name: parse-2002.lisp
-;;;; Purpose: Parsing and SQL insertion routines for UMLisp which may
-;;;; change from year to year
-;;;; Author: Kevin M. Rosenberg
-;;;; Date Started: Apr 2000
+;;;; Name: parse-2002.lisp
+;;;; Purpose: Parsing and SQL insertion routines for UMLisp which may
+;;;; change from year to year
+;;;; Author: Kevin M. Rosenberg
+;;;; Created: Apr 2000
;;;;
;;;; $Id$
;;;;
;;;; This file, part of UMLisp, is
-;;;; Copyright (c) 2000-2003 by Kevin M. Rosenberg, M.D.
+;;;; Copyright (c) 2000-2004 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.
(in-package #:umlisp)
-(eval-when (:compile-toplevel)
- (declaim (optimize (speed 3) (safety 1) (compilation-speed 0) (debug 3))))
-
;;; Pre-read data for custom fields into hash tables
(defvar *preparse-hash-init?* nil)
;;;; *************************************************************************
;;;; FILE IDENTIFICATION
;;;;
-;;;; Name: parse-common.lisp
-;;;; Purpose: Common, stable parsing routines for UMLisp
-;;;; Author: Kevin M. Rosenberg
-;;;; Date Started: Apr 2000
+;;;; Name: parse-common.lisp
+;;;; Purpose: Common, stable parsing routines for UMLisp
+;;;; Author: Kevin M. Rosenberg
+;;;; Created: Apr 2000
;;;;
;;;; $Id$
;;;;
;;;; This file, part of UMLisp, is
-;;;; Copyright (c) 2000-2003 by Kevin M. Rosenberg, M.D.
+;;;; Copyright (c) 2000-2004 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.
(in-package #:umlisp)
-(eval-when (:compile-toplevel)
- (declaim (optimize (speed 3) (safety 1) (compilation-speed 0) (debug 3))))
-
(defun ensure-ucols+ufiles (&optional (alwaysclear nil))
"Initialize all UMLS file and column structures if not already initialized"
(when (or alwaysclear (null *umls-files*))
(defun ufiles-to-measure ()
"Returns a list of ufiles to measure"
(loop for ufile in *umls-files*
- unless (or (char= #\M (char (fil ufile) 0))
- (char= #\m (char (fil ufile) 0)))
+ unless (or (char= #\M (schar (fil ufile) 0))
+ (char= #\m (schar (fil ufile) 0)))
collect ufile))
(defun file-field-lengths (filename)
"Returns a list of FILENAME MAX AV"
+ (declare (optimize (speed 3) (safety 0)))
(let (fields-max fields-av num-fields (count-lines 0))
(with-umls-file (line filename)
(unless num-fields
;;;; *************************************************************************
;;;; FILE IDENTIFICATION
;;;;
-;;;; Name: parse-macros.lisp
-;;;; Purpose: Macros for UMLS file parsing
-;;;; Author: Kevin M. Rosenberg
-;;;; Date Started: Apr 2000
+;;;; Name: parse-macros.lisp
+;;;; Purpose: Macros for UMLS file parsing
+;;;; Author: Kevin M. Rosenberg
+;;;; Created: Apr 2000
;;;;
;;;; $Id$
;;;;
;;;; This file, part of UMLisp, is
-;;;; Copyright (c) 2000-2003 by Kevin M. Rosenberg, M.D.
+;;;; Copyright (c) 2000-2004 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.
+;;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; Base: 10; Package: umlisp -*-
+;;;; *************************************************************************
+;;;; FILE IDENTIFICATION
+;;;;
+;;;; Name: parse-macros.lisp
+;;;; Purpose: Macros for UMLS file parsing
+;;;; Author: Kevin M. Rosenberg
+;;;; Created: Apr 2000
+;;;;
+;;;; $Id$
+;;;;
+;;;; This file, part of UMLisp, is
+;;;; Copyright (c) 2000-2004 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.
+;;;; *************************************************************************
+
+
(defpackage #:run-tests (:use #:cl))
(in-package #:run-tests)
(require 'hyperobject)
(load "umlisp.asd")
(load "umlisp-tests.asd")
-(asdf:oos 'asdf:test-op 'umlisp)
+(asdf:operate 'asdf:test-op 'umlisp)
(defun quit (&optional (code 0))
"Function to exit the Lisp implementation. Copied from CLOCC's QUIT function."
;;;; *************************************************************************
;;;; FILE IDENTIFICATION
;;;;
-;;;; Name: sql-classes.lisp
-;;;; Purpose: Routines for reading UMLS objects from SQL database
-;;;; Author: Kevin M. Rosenberg
-;;;; Date Started: Apr 2000
+;;;; Name: sql-classes.lisp
+;;;; Purpose: Routines for reading UMLS objects from SQL database
+;;;; Author: Kevin M. Rosenberg
+;;;; Created: Apr 2000
;;;;
;;;; $Id$
;;;;
;;;; *************************************************************************
;;;; FILE IDENTIFICATION
;;;;
-;;;; Name: sql.lisp
-;;;; Purpose: Low-level SQL routines data for UMLisp
-;;;; Author: Kevin M. Rosenberg
-;;;; Date Started: Apr 2000
+;;;; Name: sql.lisp
+;;;; Purpose: Low-level SQL routines data for UMLisp
+;;;; Author: Kevin M. Rosenberg
+;;;; Created: Apr 2000
;;;;
;;;; $Id$
;;;;
;;;; This file, part of UMLisp, is
-;;;; Copyright (c) 2000-2003 by Kevin M. Rosenberg, M.D.
+;;;; Copyright (c) 2000-2004 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.
;;;; *************************************************************************
;;;; FILE IDENTIFICATION
;;;;
-;;;; Name: utils.lisp
-;;;; Purpose: Low-level utility functions for UMLisp
-;;;; Author: Kevin M. Rosenberg
-;;;; Date Started: Apr 2000
+;;;; Name: utils.lisp
+;;;; Purpose: Low-level utility functions for UMLisp
+;;;; Author: Kevin M. Rosenberg
+;;;; Created: Apr 2000
;;;;
;;;; $Id$
;;;;
;;;; This file, part of UMLisp, is
-;;;; Copyright (c) 2000-2003 by Kevin M. Rosenberg, M.D.
+;;;; Copyright (c) 2000-2004 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.
(defun parse-ui (s &optional (nullvalue 0))
"Return integer value for a UMLS unique identifier."
+ (declare (simple-string s)
+ (optimize (speed 3) (safety 0)))
(if (< (length s) 2)
nullvalue
(nth-value 0 (parse-integer s :start 1))))
(defun parse-cui (cui)
+ (declare (optimize (speed 3) (safety 0)))
(if (stringp cui)
- (let ((ch (char cui 0)))
+ (let ((ch (schar cui 0)))
(if (char-equal ch #\C)
(parse-ui cui)
(nth-value 0 (parse-integer cui))))
cui))
(defun parse-lui (lui)
+ (declare (optimize (speed 3) (safety 0)))
(if (stringp lui)
- (let ((ch (char lui 0)))
+ (let ((ch (schar lui 0)))
(if (char-equal ch #\L)
(parse-ui lui)
(nth-value 0 (parse-integer lui))))
lui))
(defun parse-sui (sui)
+ (declare (optimize (speed 3) (safety 0)))
(if (stringp sui)
- (let ((ch (char sui 0)))
+ (let ((ch (schar sui 0)))
(if (char-equal ch #\S)
(parse-ui sui)
(nth-value 0 (parse-integer sui))))
sui))
(defun parse-tui (tui)
+ (declare (optimize (speed 3) (safety 0)))
(if (stringp tui)
- (let ((ch (char tui 0)))
+ (let ((ch (schar tui 0)))
(if (char-equal ch #\T)
(parse-ui tui)
(nth-value 0 (parse-integer tui))))
tui))
(defun parse-eui (eui)
+ (declare (optimize (speed 3) (safety 0)))
(if (stringp eui)
- (let ((ch (char eui 0)))
+ (let ((ch (schar eui 0)))
(if (char-equal ch #\E)
(parse-ui eui)
(nth-value 0 (parse-integer eui))))