aboutsummaryrefslogtreecommitdiff
path: root/src/boot
diff options
context:
space:
mode:
Diffstat (limited to 'src/boot')
-rw-r--r--src/boot/parser.boot6
-rw-r--r--src/boot/tokens.boot1
2 files changed, 7 insertions, 0 deletions
diff --git a/src/boot/parser.boot b/src/boot/parser.boot
index fbe8724c..56bd4d73 100644
--- a/src/boot/parser.boot
+++ b/src/boot/parser.boot
@@ -722,6 +722,12 @@ bpCatchItem() ==
(bpException() or bpTrap()) and
bpPush %Catch bpPop1()
+++ Leave:
+++ LEAVE Logical
+bpLeave() ==
+ bpEqKey "LEAVE" and (bpLogical() or bpTrap()) and
+ bpPush %LeaveAst bpPop1()
+
++ Return:
++ RETURN Assign
bpReturn()==
diff --git a/src/boot/tokens.boot b/src/boot/tokens.boot
index c5990f0e..ef860684 100644
--- a/src/boot/tokens.boot
+++ b/src/boot/tokens.boot
@@ -51,6 +51,7 @@ shoeKeyWords == [ _
['"in", "IN" ], _
['"is", "IS"], _
['"isnt", "ISNT"] , _
+ ['"leave", "LEAVE"], _
['"module", "MODULE"], _
['"namespace", "NAMESPACE"], _
['"of", "OF"] , _