From 9e4c13732467bdf50de9e5b9d2d9cc5c76e22123 Mon Sep 17 00:00:00 2001 From: dos-reis Date: Tue, 1 May 2012 06:53:37 +0000 Subject: * interp/i-special.boot (interpREPEAT): Use CATCH directly. * interp/int-top.boot (intloopSpadProcess): Likewise. * interp/sys-macros.lisp (funcall): Remove. (Catch): Likewise. (Throw): Likewise. (UnwindProtect): Likewise. (SPADCATCH): Likewise. (SPADTHROW): Likewise. (YIELD): Likewise. --- src/interp/i-special.boot | 2 +- src/interp/int-top.boot | 4 ++-- src/interp/sys-macros.lisp | 33 --------------------------------- 3 files changed, 3 insertions(+), 36 deletions(-) (limited to 'src/interp') diff --git a/src/interp/i-special.boot b/src/interp/i-special.boot index 4be81980..d8c1abe4 100644 --- a/src/interp/i-special.boot +++ b/src/interp/i-special.boot @@ -2251,7 +2251,7 @@ interpREPEAT(op,itrl,body,repeatMode) == ['%repeat,:[interpIter itr for itr in itrl], ["CATCH",$repeatBodyLabel,interpLoop(body,$indexVars, $indexTypes,nil)],voidValue()] - SPADCATCH(eval $repeatLabel,timedEVALFUN code) + CATCH(eval $repeatLabel,timedEVALFUN code) val:= objNewWrap(voidValue(),repeatMode) putValue(op,val) putModeSet(op,[repeatMode]) diff --git a/src/interp/int-top.boot b/src/interp/int-top.boot index a4927b31..407e26b1 100644 --- a/src/interp/int-top.boot +++ b/src/interp/int-top.boot @@ -1,6 +1,6 @@ -- Copyright (c) 1991-2002, The Numerical Algorithms Group Ltd. -- All rights reserved. --- Copyright (C) 2007-2011, Gabriel Dos Reis. +-- Copyright (C) 2007-2012, Gabriel Dos Reis. -- All rights reserved. -- -- Redistribution and use in source and binary forms, with or without @@ -236,7 +236,7 @@ intloopSpadProcess(stepNo,lines,ptree,interactive?)== ncPutQ(cc, 'messages, $ncMsgList) ncPutQ(cc, 'lines, lines) $ncMsgList := nil - result := CatchAsCan(flung, Catch("SpadCompileItem", + result := CatchAsCan(flung, CATCH("SpadCompileItem", CATCH($intCoerceFailure, CATCH($SpadReaderTag, interp(cc, ptree, interactive?))))) where diff --git a/src/interp/sys-macros.lisp b/src/interp/sys-macros.lisp index 39d0385e..307a5d7d 100644 --- a/src/interp/sys-macros.lisp +++ b/src/interp/sys-macros.lisp @@ -1050,23 +1050,6 @@ (defmacro SPADREDUCE (OP AXIS BOD) (REDUCE-1 OP AXIS BOD)) -;; -;; -*- Control -*- -;; - - -(defmacro |funcall| (&rest args) - (cons 'funcall args) ) - -(defmacro |Catch| (tag expr) - `(catch ,tag ,expr) ) - -(defmacro |Throw| (tag expr) - `(Throw ,tag ,expr) ) - -(defmacro |UnwindProtect| (a b) - `(unwind-protect ,a ,b) ) - ;; ;; -*- List Comprehension -*- ;; @@ -1075,22 +1058,6 @@ (let ((U (REPEAT-TRAN L NIL))) (CONS 'THETA (CONS '\, (|append!| (CAR U) (LIST (CDR U))))))) -;; -;; -*- Non-Local Gotos -*- -;; - -(defmacro SPADCATCH (&rest form) - (CONS 'CATCH form)) - -(defmacro SPADTHROW (&rest form) - (CONS 'THROW form)) - -(defmacro YIELD (L) - (let ((g (gensym))) - `(let ((,g (state))) - (if (STATEP ,g) - (throw 'YIELD (list 'pair ,L) ,g))))) - ;; ;; -*- Input/Output -*- ;; -- cgit v1.2.3