Artifact ee18a475febca4bd17f1e312344a8b139ce9da0dfef1fc0bc5b85f2660613560:
- File
psl-1983/3-1/tests/new-sym.red
— 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: 1624) [annotate] [blame] [check-ins using] [more...]
- File
psl-1983/tests/new-sym.red
— 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: 1624) [annotate] [blame] [check-ins using]
% Replacements for functions in usual xxx-CROSS.EXE which only read/write % xxx.SYM if flags !*symread/!*symwrite are T; otherwise symbols are % assumed to be already loaded (read case) or the cross-compiler is to % be saved intact with symbols (write case). lisp procedure ASMEnd; << off SysLisp; if !*MainFound then << CompileUncompiledExpressions(); % WriteInitFile(); InitializeSymbolTable() >> else WriteSymFile(); CodeFileTrailer(); Close CodeOut!*; DataFileTrailer(); Close DataOut!*; Close InitOut!*; RemD 'Lap; PutD('Lap, 'EXPR, cdr GetD 'OldLap); DFPRINT!* := NIL; !*DEFN := NIL; WriteSaveFile() >>; lisp procedure ReadSymFile(); if !*symread then LapIN InputSymFile!* else off usermode; lisp procedure WriteSymFile(); begin scalar NewOut, OldOut; if !*symwrite then << OldOut := WRS(NewOut := Open(OutputSymFile!*, 'OUTPUT)); print list('SaveForCompilation, MkQuote('progn . car ToBeCompiledExpressions!*)); SaveIDList(); SetqPrint 'NextIDNumber!*; SetqPrint 'StringGenSym!*; MapObl function PutPrintEntryAndSym; WRS OldOut; Close NewOut; >>; end; lisp procedure WriteSaveFile(); if !*symsave and (null !*mainfound) then % restore some initial conditions <<!*usermode := nil; DataExporteds!* := DataExternals!* := nil; CodeExporteds!* := CodeExternals!* := nil; !*MainFound:= nil; % save the cross-compiler with symbol tables intact dumplisp(cross!-compiler!-name) >>; !*symwrite := !*symread := nil; !*symsave := T;