Artifact afac7fb3ceeb6b63956889e277328331ae2cc01a1a7328995034c542d4f2412f:
- File
psl-1983/20-kernel/main-start.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: 1514) [annotate] [blame] [check-ins using] [more...]
- File
psl-1983/lpt/main-start.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: 1514) [annotate] [blame] [check-ins using]
% % MAIN-START.RED - First routine called on startup % % Author: Eric Benson % Symbolic Computation Group % Computer Science Dept. % University of Utah % Date: 15 September 1981 % Copyright (c) 1981 University of Utah % % <PSL.KERNEL-20>MAIN-START.RED.4, 5-Oct-82 10:42:14, Edit by BENSON % Added call to EvalInitForms in MAIN!. on SysLisp; internal WConst StackSize = 4000; internal WArray Stack[StackSize]; exported WVar StackLowerBound = &Stack[0], StackUpperBound = &Stack[StackSize]; external WVar ST; internal WConst MaxArgBlock = (MaxArgs - MaxRealRegs) - 1; % 0..MaxArgBlock are arguments (MaxRealRegs + 1)..MaxArgs exported WArray ArgumentBlock[MaxArgBlock]; exported WArray HashTable[MaxObArray/2]; lap '((!*entry Main!. expr 0) Forever (move (reg st) (lit (halfword (minus (WConst StackSize)) (difference (WConst Stack) 1)))) (move (reg nil) (fluid nil)) (!*CALL pre!-main) (jrst Forever) ); syslsp procedure Reset(); Throw('Reset, 'Reset); syslsp procedure pre!-main(); << ClearBindings(); ClearIO(); EvalInitForms(); if Catch('Reset, Main()) = 'Reset then pre!-main() >>; syslsp procedure Main(); %. initialization function % % A new system can be created by redefining this function to call whatever % top loop is desired. % << InitCode(); % special code accumulated in compiler SymFnc IDLoc Main := SymFnc IDLoc StandardLisp; % don't do it again StandardLisp() >>; off SysLisp; END;