diff options
author | dos-reis <gdr@axiomatics.org> | 2010-12-11 22:48:38 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2010-12-11 22:48:38 +0000 |
commit | a07faca18a3f5f7435cfc21f0a66a183d2c0cd05 (patch) | |
tree | cdc26e56baad314d992424ba2223ef98dda3af4b /src/boot/strap/translator.clisp | |
parent | 0835ad7e9a8e7f90f61b633fd74304f00b07d386 (diff) | |
download | open-axiom-a07faca18a3f5f7435cfc21f0a66a183d2c0cd05.tar.gz |
* boot/tokens.boot: `finally' is now a keyword.
* boot/parser.boot (bpMissing): Use a BootParserException exception.
(bpTrap): Likewise.
(bpListAndRecover): Catch them.
* boot/parser.boot (shoeOutParse): Likewise.
* boot/ast.boot (bfHandlers): Fix thinko.
(codeForCatchHandlers): Likewise.
Diffstat (limited to 'src/boot/strap/translator.clisp')
-rw-r--r-- | src/boot/strap/translator.clisp | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/boot/strap/translator.clisp b/src/boot/strap/translator.clisp index 1d17a095..2171c415 100644 --- a/src/boot/strap/translator.clisp +++ b/src/boot/strap/translator.clisp @@ -506,7 +506,18 @@ (SETQ |$bpCount| 0) (SETQ |$bpParenCount| 0) (|bpFirstTok|) - (SETQ |found| (CATCH 'TRAPPOINT (|bpOutItem|))) + (SETQ |found| + (LET ((#0=#:G1354 + (CATCH :OPEN-AXIOM-CATCH-POINT (|bpOutItem|)))) + (COND + ((AND (CONSP #0#) + (EQUAL (CAR #0#) :OPEN-AXIOM-CATCH-POINT)) + (COND + ((EQUAL (CAR #1=(CDR #0#)) + '(|BootParserException|)) + (LET ((|e| (CDR #1#))) |e|)) + (T (THROW :OPEN-AXIOM-CATCH-POINT #0#)))) + (T #0#)))) (COND ((EQ |found| 'TRAPPED) NIL) ((NOT (|bStreamNull| |$inputStream|)) (|bpGeneralErrorHere|) |