Artifact 3358732da2ee266611ba5f4ad904817dd22ec7970d2126f9e3b613c1ea5d445d:
- File
psl-1983/util/pslcomp-main.sl
— part of check-in
[eb17ceb7f6]
at
2020-04-21 19:40:01
on branch master
— Add Reduce 3.0 to the historical section of the archive, and some more
files relating to version sof PSL from the early 1980s. Thanks are due to
Paul McJones and Nelson Beebe for these, as well as to all the original
authors.git-svn-id: https://svn.code.sf.net/p/reduce-algebra/code/historical@5328 2bfe0521-f11c-4a00-b80e-6202646ff360 (user: arthurcnorman@users.sourceforge.net, size: 2195) [annotate] [blame] [check-ins using] [more...]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % PSLCOMP-MAIN.SL % % Author: Alan Snyder % Hewlett-Packard/CRC % Date: 27 September 1982 % Revised: 8 December 1982 % % 8-Dec-82 Alan Snyder % Changed use of DSKIN (now an EXPR). % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % This file redefines the start-up routine for PSLCOMP to read and interpret % the program command string as a list of source files to be compiled. (CompileTime (load common pathnames)) (load pathnamex parse-command-string get-command-string compiler) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% (fluid '(*usermode *redefmsg CurrentReadMacroIndicator* CurrentScanTable*)) (fluid '(*quiet_faslout *WritingFASLFile)) (cond ((funboundp 'original-main) (copyd 'original-main 'main))) (de main () (let ((CurrentReadMacroIndicator* 'LispReadMacro) % Crock! (CurrentScanTable* LispScanTable*) (c-list (parse-command-string (get-command-string))) (*usermode nil) (*redefmsg nil)) (compile-files c-list) (copyd 'main 'original-main) ) (original-main) ) (de compile-files (c-list) (cond ((null c-list) (PrintF "Portable Standard Lisp Compiler%n") (PrintF "Usage: PSLCOMP source-file ...%n") ) (t (for (in fn c-list) (do (attempt-to-compile-file fn)) ) (quit) ))) (de attempt-to-compile-file (fn) (let* ((form (list 'COMPILE-FILE fn)) (*break NIL) (result (ErrorSet form T NIL)) ) (cond ((FixP result) (if *WritingFASLFile (faslend)) (printf "%n ***** Error during compilation of %w.%n" fn) )) )) (de compile-file (fn) (let ((source-fn (namestring (pathname-set-default-type fn "SL"))) (binary-fn (namestring (pathname-set-type fn "B"))) (*quiet_faslout T) ) (if (not (FileP source-fn)) (printf "Unable to open source file: %w%n" source-fn) % else (printf "%n----- Compiling %w%n" source-fn binary-fn) (faslout (namestring (pathname-without-type binary-fn))) (dskin source-fn) (faslend) (printf "%nDone compiling %w%n%n" source-fn) )))