(defun translate-all-files (&key (extension "-trans") verbose force)
"Translate all *umls-files* to optimized import format."
- (make-noneng-index-file extension)
+ (when verbose (format t "UMLS Import: Translating file ~A.~%" (fil (find-ufile "MRXW_NONENG.RRF"))))
+ (make-noneng-index-file extension :force force)
(dolist (f (remove "MRXW_NONENG.RRF" *umls-files* :test #'string= :key #'fil))
(when verbose (format t "UMLS Import: Translating file ~A.~%" (fil f)))
(translate-umls-file f extension :force force)))
(return-from translate-files output-path))
(with-open-file (ostream output-path :direction :output
:if-exists :overwrite
+ :if-does-not-exist :create
#+(and clisp unicode) :external-format
#+(and clisp unicode) charset:utf-8)
(dolist (input-ufile input-ufiles)
(declare (optimize (speed 3) (space 0)))
(ensure-ucols+ufiles)
(let ((max 0))
- (declare (fixnum max))
+ (declare (type (integer 0 1000000) max))
(dolist (ucol *umls-cols*)
- (when (> (cmax ucol) max)
+ (when (> (the (integer 0 1000000) (cmax ucol)) max)
(setq max (cmax ucol))))
max))
(let ((rowsizes '()))
(dolist (file *umls-files*)
(let ((row 0))
+ (declare (type (integer 0 1000000) row))
(dolist (ucol (ucols file))
- (incf row (1+ (cmax ucol))))
+ (let* ((col-max (cmax ucol))
+ (max-with-delim (1+ col-max)))
+ (declare (type (integer 0 1000000) col-max max-with-delim))
+ (incf row max-with-delim)))
(push row rowsizes)))
(car (sort rowsizes #'>))))