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.boot12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/boot/parser.boot b/src/boot/parser.boot
index 9908a68a..9c41a07b 100644
--- a/src/boot/parser.boot
+++ b/src/boot/parser.boot
@@ -553,9 +553,19 @@ bpApplication()==
(bpApplication() and
bpPush(bfApplication(bpPop2(),bpPop1())) or true)
+++ Typing:
+++ SimpleType
+++ Mapping
+bpTyping() ==
+ bpApplication() and
+ (bpEqKey "ARROW" and (bpApplication() or bpTrap()) and
+ bpPush Mapping(bpPop1(), bfUntuple bpPop1()) or true) or bpMapping()
+
+++ Tagged:
+++ Name : Typing
bpTagged()==
bpApplication() and
- (bpEqKey "COLON" and (bpApplication() or bpTrap()) and
+ (bpEqKey "COLON" and (bpTyping() or bpTrap()) and
bpPush bfTagged(bpPop2(),bpPop1()) or true)
bpExpt()== bpRightAssoc('(POWER),function bpTagged)