1
0
mirror of https://github.com/PDP-10/its.git synced 2026-03-06 11:23:32 +00:00

Fix MCL (macsyma source compiler) to actually work. Also Fix UTMCL.

MCL is invoked with :MAXTUL;MCL and can be used to compile any
macsyma source.  Of course, if you change IN-CORE sources, you'll
have to dump out a new macsyma, but for non-IN-CORE sources, you'll
get the FASL and UNFASL files in the right places, and any macros
loaded that are needed.

The original link of maxtul;.good. complr was incorrect -- it pointed
to SYS;TS COMPLR. The link is supposed to point to the dumped out
MCL image.

Also fix UTMCL. First, it is not supposed to be a link to MCL.  It
is it's own dumped COMPLR image.  Added source for UTMCL, and updated
macsyma.tcl to compile it and then load it into a COMPLR to dump
it to MAXTUL;TS UTMCL.

UTMCL is called by Macsyma's COMPILE_LISP_FILE function to compile
a lisp source file with the appropriate Macsyma context.
This commit is contained in:
Eric Swenson
2024-05-19 09:20:05 -07:00
parent fc8f554f1b
commit bca0987608
2 changed files with 58 additions and 5 deletions

37
src/maxtul/utmcl.3 Normal file
View File

@@ -0,0 +1,37 @@
;;;-*-lisp-*-
(herald utmcl)
;;; Load this file into a COMPLR, ^G it, and do (DUMP-UTMCL).
;;; compilation environment for translated macsyma code.
;;; N.B. This does NOT define the environment, the prelude file
;;; for translated code does that. This merely dumps out the
;;; proper environment to give fast system start-up response
;;; for users of COMPILE_LISP_FILE.
;;; (It saves a few seconds per compilation).
(DEFVAR MACRO-FILES NIL)
(DEFUN VERLOAD (NAME FILE)
(COND ((GET NAME 'VERSION))
(T (LOAD FILE)
(PUSH NAME MACRO-FILES))))
(DEFUN DUMP-UTMCL (&OPTIONAL (*PURE T))
(setq pure t)
(load '((liblsp)sharab))
(VERLOAD 'MAXMAC "LIBMAX;MAXMAC FASL")
(VERLOAD 'MOPERS "LIBMAX;MOPERS FASL")
(VERLOAD 'TRANSQ "LIBMAX;TRANSQ FASL")
(VERLOAD 'MDEFUN "MACSYM;MDEFUN FASL")
(VERLOAD 'DCL "MAXDOC;DCL FASL")
;; important declarations not yet in DCL FASL
(VERLOAD 'TDCL "MAXDOC;TDCL FASL")
(VERLOAD 'FORMAT (GET 'FORMAT 'AUTOLOAD))
(SETQ *PURE NIL)
(GC)
(PURE-SUSPEND 'p "DSK:MAXTUL;TS UTMCL")
(sstatus toplevel
'(progn (funcall (let ((obarray sobarray))
(intern 'complr-tople-after-suspend))))))