diff options
author | dos-reis <gdr@axiomatics.org> | 2008-02-15 04:28:18 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2008-02-15 04:28:18 +0000 |
commit | 8042d68702fdeda99a7e9e240b40e580ec82a8d8 (patch) | |
tree | a21605ba0dc42deae3e42ec6d2d60e886f3499a5 /src/boot/tokens.boot | |
parent | 3287ad75396e6528ddc6fb7ca722d0b1d2aa75d5 (diff) | |
download | open-axiom-8042d68702fdeda99a7e9e240b40e580ec82a8d8.tar.gz |
Add try/catch to Boot.
* boot/tokens.boot (shoeKeyWords): Add new keywords.
* boot/ast.boot (Ast): Include three new nodes.
(bfTry): New.
(bfThrow): Likewise.
* boot/parser.boot ($bodyHasReturn): Remove.
(bpNoteReturnStmt): Likewise.
(bpThrow): New.
(bpTry): Likewise.
(bpPiledCatchItems): Likewise.
(bpCatchItemList): Likewise.
(bpExceptionHead): Likewise.
(bpExceptionTail): Likewise.
(bpException): Likewise.
(bpCatchItem): Likewise.
(bpReturn): Include `throw' expressions.
(bpStatement): Include `try' expressions.
* interp/macros.lisp (|tryLine|): Rename from |try|.
* interp/pspad1.boot: Replace `try' with `tryLine' throughout.
Diffstat (limited to 'src/boot/tokens.boot')
-rw-r--r-- | src/boot/tokens.boot | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/boot/tokens.boot b/src/boot/tokens.boot index a64c6d56..d3b9d2e0 100644 --- a/src/boot/tokens.boot +++ b/src/boot/tokens.boot @@ -42,6 +42,7 @@ shoeKeyWords := [ _ ['"and","AND"] , _ ['"by", "BY" ], _ ['"case","CASE"] , _ + ['"catch","CATCH"], _ ['"cross","CROSS"] , _ ['"else", "ELSE"] , _ ['"for", "FOR"] , _ @@ -57,6 +58,8 @@ shoeKeyWords := [ _ ['"return", "RETURN"], _ ['"structure", "STRUCTURE"], _ ['"then", "THEN"], _ + ['"throw", "THROW"], _ + ['"try", "TRY"], _ ['"until", "UNTIL"], _ ['"where", "WHERE"], _ ['"while", "WHILE"], _ |