mirror of
https://github.com/PDP-10/its.git
synced 2026-01-11 23:53:12 +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:
parent
fc8f554f1b
commit
9e0e0354b1
@ -216,9 +216,22 @@ respond "File name->" "\002"
|
||||
respond ";BKPT" "(quit)"
|
||||
|
||||
respond "*" ":midas maxtul;ts mcl_mcldmp midas\r"
|
||||
respond "*" ":link maxtul;.good. complr,sys;ts complr\r"
|
||||
respond "*" ":link maxtul;.good. complr,maxtul;mcldmp 32\r"
|
||||
|
||||
respond "*" ":link maxtul;ts utmcl,maxtul;ts mcl\r"
|
||||
# build UTMCL -- the compiler invoked by compile_lisp_file in Macsyma
|
||||
respond "*" "complr\013"
|
||||
respond "_" "maxtul;utmcl\r"
|
||||
respond "_" "\032"
|
||||
type ":kill\r"
|
||||
|
||||
# dump out UTMCL
|
||||
respond "*" "complr\013"
|
||||
respond "_" "\007"
|
||||
respond "*" "(load \"maxtul;utmcl fasl\")"
|
||||
respond_load "\007"
|
||||
respond "*" "(dump-utmcl)"
|
||||
respond "_" "\032"
|
||||
type ":kill\r"
|
||||
|
||||
respond "*" "complr\013"
|
||||
respond "_" "mrg;macros\r"
|
||||
@ -302,8 +315,12 @@ respond "Type ALL;" "all;"
|
||||
respond "Type ALL;" "all;"
|
||||
respond "(C2)" "quit();"
|
||||
|
||||
### build share;array fasl and ellen; check fasl for macsyma
|
||||
respond "*" ":maxtul;mcl\r"
|
||||
### build share;array fasl and ellen;check fasl for macsyma
|
||||
respond "*" "complr\013"
|
||||
respond "_" "\007"
|
||||
respond "*" "(load '((libmax) module))"
|
||||
respond_load "(load '((libmax) maxmac))"
|
||||
respond_load "(maklap)"
|
||||
respond "_" "share;_maxsrc;array\r"
|
||||
respond "_" "ellen;check\r"
|
||||
respond "_" "\032"
|
||||
@ -311,7 +328,6 @@ type ":kill\r"
|
||||
|
||||
### rebuild float because version built the first time gives
|
||||
### arithmetic overflows. See ticket #1211.
|
||||
|
||||
respond "*" "complr\013"
|
||||
respond "_" "\007"
|
||||
respond "*" "(load '((libmax) module))"
|
||||
|
||||
37
src/maxtul/utmcl.3
Normal file
37
src/maxtul/utmcl.3
Normal 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))))))
|
||||
Loading…
x
Reference in New Issue
Block a user