Artifact 35e067ff3f6feca955a2ddef0ec80559181dc9889f67382f69322c3f004685da:
- File
perq-pascal-lisp-project/pasn.perq
— 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: 1373) [annotate] [blame] [check-ins using] [more...]
(*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % PASCAL BASED MINI-LISP % % File: PASN.RED - Trailer File % ChangeDate: 5:39am Saturday, 26 September 1981 % By: M. L. Griss % Add Hooks for CATCH/THROW % % All RIGHTS RESERVED % COPYRIGHT (C) - 1981 - M. L. GRISS % Computer Science Department % University of Utah % % Do Not distribute with out written consent of M. L. Griss % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*) (* pasN.PAS ---- the last file to be appended, close CATCH, do init *) BEGIN (* Body of Catch *) IF initphase=0 THEN (* Kludge to get into scope of CATCH *) BEGIN init; initphase := 1; firstp; END ELSE BEGIN initphase := initphase + 1; idspace[xthrowing].val := nilref; catch_stk:=st; (* Capture Stack *) catch_bstk:=idspace[xbstack].val; (* Capture Bstack *) xeval; initphase := initphase - 1; (* Return Point *) IF idspace[xthrowing].val <> nilref THEN BEGIN st:=catch_stk; r[2]:=catch_bstk; xunbindto; (* return value, old stack *) END; END END (* catch *); BEGIN (* Top Level *) initphase := 0; r[1] := nilref; Xcatch; writeln('halt after top catch'); exit(pas0); end.