Artifact f4ac3aa94fcf1ec15bba89b2f763c3d8cd2e5a377dbcb2caa258f68d684f1296:
- File
perq-pascal-lisp-project/delete.pas
— 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: 2030) [annotate] [blame] [check-ins using] [more...]
forward; (* !(!*ENTRY DELETE EXPR !2!) *) (* EXPR DELETE *) procedure PAS227; label 102, 101, 100; begin (* !(!*ALLOC !2!) *) alloc2; (* !(!*STORE !1 !0!) *) store10; (* !(!*STORE !2 !-!1!) *) store(2,1); (* !(!*JUMPC G!0!0!9!9 !2 PAIRTAG!) *) IF tag_of(R[2]) = PAIRTAG THEN GOTO 100; (* !(!*LOAD !1 !(QUOTE NIL!)!) *) R[1] := nilref; (* !(!*JUMP G!0!1!0!1!) *) GOTO 102; (* !(!*LBL G!0!0!9!9!) *) 100: (* !(!*LOAD !2 !(CAR !2!)!) *) ANYcar(R[2],R[2]); (* !(!*LINK EQUAL EXPR !2!) *) PAS226; (* !(!*JUMPNIL G!0!1!0!0!) *) IF R[1] = nilref THEN GOTO 101; (* !(!*LOAD !1 !(CDR !-!1!)!) *) ANYcdr(stk[st-1],R[1]); (* !(!*JUMP G!0!1!0!1!) *) GOTO 102; (* !(!*LBL G!0!1!0!0!) *) 101: (* !(!*LOAD !2 !(CDR !-!1!)!) *) ANYcdr(stk[st-1],R[2]); (* !(!*LOAD !1 !0!) *) load10; (* !(!*LINK DELETE EXPR !2!) *) PAS227; (* !(!*LOAD !2 !(CAR !-!1!)!) *) ANYcar(stk[st-1],R[2]); (* !(!*LINK XCONS EXPR !2!) *) XXCONS; (* !(!*LBL G!0!1!0!1!) *) 102: (* !(!*DEALLOC !2!) *) dealloc2; (* !(!*EXIT!) *) end; procedure PAS228; forward; (* !(!*ENTRY DELQ EXPR !2!) *) (* EXPR DELQ *) procedure PAS228; label 102, 101, 100; begin (* !(!*ALLOC !1!) *) alloc1; (* !(!*STORE !2 !0!) *) store(2,0); (* !(!*JUMPC G!0!1!0!5 !2 PAIRTAG!) *) IF tag_of(R[2]) = PAIRTAG THEN GOTO 100; (* !(!*LOAD !1 !2!) *) R[1] := R[2]; (* !(!*JUMP G!0!1!0!7!) *) GOTO 102; (* !(!*LBL G!0!1!0!5!) *) 100: (* !(!*JUMPN G!0!1!0!6 !(CAR !2!)!) *) ANYcar(R[2],RXX); IF R[1] <> RXX THEN GOTO 101; (* !(!*LOAD !1 !(CDR !2!)!) *) ANYcdr(R[2],R[1]); (* !(!*JUMP G!0!1!0!7!) *) GOTO 102; (* !(!*LBL G!0!1!0!6!) *) 101: (* !(!*LOAD !2 !(CDR !2!)!) *) ANYcdr(R[2],R[2]); (* !(!*LINK DELQ EXPR !2!) *) PAS228; (* !(!*LOAD !2 !(CAR !-!1!)!) *) ANYcar(stk[st-1],R[2]); (* !(!*LINK XCONS EXPR !2!) *) XXCONS; (* !(!*LBL G!0!1!0!7!) *) 102: (* !(!*DEALLOC !1!) *) dealloc1; (* !(!*EXIT!) *) end;