aboutsummaryrefslogtreecommitdiff
path: root/src/boot/tokens.boot
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2008-02-15 04:28:18 +0000
committerdos-reis <gdr@axiomatics.org>2008-02-15 04:28:18 +0000
commit8042d68702fdeda99a7e9e240b40e580ec82a8d8 (patch)
treea21605ba0dc42deae3e42ec6d2d60e886f3499a5 /src/boot/tokens.boot
parent3287ad75396e6528ddc6fb7ca722d0b1d2aa75d5 (diff)
downloadopen-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.boot3
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"], _