From 871ae5f27191cd50a4629143243312da1be7ca94 Mon Sep 17 00:00:00 2001 From: dos-reis Date: Tue, 7 Dec 2010 02:13:06 +0000 Subject: Add support for exception handling. * interp/parsing.lisp (TEST-LEXING): Remove. (RTRACE): Likewise. (RUNTRACE): Likewise. (MATCH-ADVANCE-KEYWORD): New. (MATCH-ADVANCE-GLYPH): Likewise. (MATCH-ADVANCE-SPECIAL): Likewise. (MATCH-SPECIAL): Likewise. (MATCH-KEYWORD-NEXT): Likewise. * interp/newaux.lisp: Make try and throw prefix operators. * interp/metalex.lisp (KEYWORDS): Include finally, catch and throw. * interp/fnewmeta.lisp (PARSE-Throw): New. Parse throw-expressions. (PARSE-Catch): New. Parse catch-expressions. (PARSE-Finally): New. Parse finally-expressions. (PARSE-Try): New. Parse try-expressions. * interp/compiler.boot (compThrow): New. Register to compile throw-expressions. (compTry): New. Register to compiler try-expressions. (compCatch): New. Compile catch-handler expression. * interp/g-opt.boot (optTry): New. Simplify simple expressions in the try operand. * interp/g-util.boot (expandThrow): New. Expand %throw forms. (domainMatchCode): New. (expandTry): New. Expand %try forms. * doc/msgs/s2-us.msgs: Add new message with key S2GE0020. * interp/g-error.boot (systemErrorHandler): Handle possible uncaucght expression condition. --- src/doc/msgs/s2-us.msgs | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/doc') diff --git a/src/doc/msgs/s2-us.msgs b/src/doc/msgs/s2-us.msgs index 9f6cc921..c702924c 100644 --- a/src/doc/msgs/s2-us.msgs +++ b/src/doc/msgs/s2-us.msgs @@ -1138,6 +1138,8 @@ S2GE0016 Unexpected error or improper call to system function %1b: %2 S2GE0017 Unexpected error in call to system function %1b +S2GE0020 + Uncaught exception S2GL0001 %ceon %b OpenAxiom: The Open Scientific Computation Platform %d %l -- cgit v1.2.3