(in-package :common-lisp-user) ;; ;; in a run-time image loading this file as its `-L' argument, we need to call ;; *restart-init-function* ourselves, as slave() below never returns. ;; #+(and :allegro :runtime-standard) (when (functionp excl:*restart-init-function*) (funcall excl:*restart-init-function*)) ;; ;; make sure we have sufficient space available ;; #-:64bit (system:resize-areas :old (* 256 1024 1024) :new (* 384 1024 1024)) #+:64bit (system:resize-areas :old (* 640 1024 1024) :new (* 1024 1024 1024)) (setf (sys:gsgc-parameter :expansion-free-percent-new) 5) (setf (sys:gsgc-parameter :free-percent-new) 2) (setf (sys:gsgc-parameter :expansion-free-percent-old) 5) #+:null (progn (setf (sys:gsgc-switch :print) t) (setf (sys:gsgc-switch :stats) t) (setf (sys:gsgc-switch :verbose) t)) (let* ((logon (system:getenv "LOGONROOT")) (lingo (namestring (parse-namestring (format nil "~a/lingo" logon))))) ;; ;; load MK defsystem() and LinGO load-up library first ;; (load (format nil "~a/lingo/lkb/src/general/loadup" logon)) ;; ;; for generation, we need (close to) the full scoop ;; (unless (find-package :tsdb) (pushnew :lkb *features*) (pushnew :logon *features*) (pushnew :slave *features*) (excl:tenuring (funcall (intern "COMPILE-SYSTEM" :make) "tsdb"))) (funcall (symbol-function (find-symbol "INITIALIZE-TSDB" :tsdb)) nil :rc (format nil "~a/dot.tsdbrc" logon)) (funcall (intern "READ-SCRIPT-FILE-AUX" :lkb) (format nil "~a/lingo/erg/lkb/script" logon)) (funcall (intern "INDEX-FOR-GENERATOR" :lkb)) ;; ;; allow the generator to relax post-generation MRS comparison, if need be ;; (set (intern "*BYPASS-EQUALITY-CHECK*" :lkb) :filter) ;; ;; adjust the MRS reader (and generator) to ignore `information structure' ;; (load (format nil "~a/lingo/is" logon)) ;; ;; _fix_me_ ;; i suspect none of these are needed, as effectively the values provided ;; from the calling process will override these. (15-dec-05; oe) ;; (set (intern "*MAXIMUM-NUMBER-OF-EDGES*" :lkb) 25000) (set (intern "*UNPACK-EDGE-ALLOWANCE*" :lkb) 25000) (set (intern "*TSDB-MAXIMAL-NUMBER-OF-EDGES*" :tsdb) 25000) (set (intern "*TSDB-MAXIMAL-NUMBER-OF-RESULTS*" :tsdb) 50) ;; ;; where possible (i.e. generation), limit the actual search to some maximum ;; number of hypotheses; in generation, this activates selective unpacking. ;; (set (intern "*TSDB-MAXIMAL-NUMBER-OF-ANALYSES*" :tsdb) 50) (set (intern "*TSDB-EXHAUSTIVE-P*" :tsdb) nil) (set (find-symbol "*TSDB-GC-VERBOSITY*" :tsdb) '(:verbose :stats)) (excl:gc t) (excl:gc :tenure) (excl:gc) (excl:gc t) (excl:gc) (setf (sys:gsgc-parameter :auto-step) nil) (funcall (symbol-function (find-symbol "SLAVE" :tsdb))))