aboutsummaryrefslogtreecommitdiff
path: root/src/boot/parser.boot
diff options
context:
space:
mode:
Diffstat (limited to 'src/boot/parser.boot')
-rw-r--r--src/boot/parser.boot7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/boot/parser.boot b/src/boot/parser.boot
index dde2bd3e..5c198129 100644
--- a/src/boot/parser.boot
+++ b/src/boot/parser.boot
@@ -858,6 +858,9 @@ bpAssign()==
bpEqPeek "GIVES" =>
bpRestore a
bpLambda() or bpTrap()
+ bpEqPeek "LARROW" =>
+ bpRestore a
+ bpKeyArg() or bpTrap()
true
bpRestore a
false
@@ -876,6 +879,10 @@ bpLambda() ==
(bpAssign() or bpTrap()) and
bpPush bfLambda(bpPop2(),bpPop1())
+bpKeyArg() ==
+ bpName() and bpEqKey "LARROW" and bpLogical() and
+ bpPush bfKeyArg(bpPop2(),bpPop1())
+
-- should only be allowed in sequences
bpExit()==
bpAssign() and (bpEqKey "EXIT" and