aboutsummaryrefslogtreecommitdiff
path: root/src/boot/strap/parser.clisp
diff options
context:
space:
mode:
Diffstat (limited to 'src/boot/strap/parser.clisp')
-rw-r--r--src/boot/strap/parser.clisp15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/boot/strap/parser.clisp b/src/boot/strap/parser.clisp
index cfc9b0fa..279926e5 100644
--- a/src/boot/strap/parser.clisp
+++ b/src/boot/strap/parser.clisp
@@ -667,12 +667,23 @@
(|bpPush| (|bfApplication| (|bpPop2|) (|bpPop1|))))
T)))))
+(DEFUN |bpTyping| ()
+ (PROG ()
+ (RETURN
+ (OR (AND (|bpApplication|)
+ (OR (AND (|bpEqKey| 'ARROW)
+ (OR (|bpApplication|) (|bpTrap|))
+ (|bpPush|
+ (|Mapping| (|bpPop1|)
+ (|bfUntuple| (|bpPop1|)))))
+ T))
+ (|bpMapping|)))))
+
(DEFUN |bpTagged| ()
(PROG ()
(RETURN
(AND (|bpApplication|)
- (OR (AND (|bpEqKey| 'COLON)
- (OR (|bpApplication|) (|bpTrap|))
+ (OR (AND (|bpEqKey| 'COLON) (OR (|bpTyping|) (|bpTrap|))
(|bpPush| (|bfTagged| (|bpPop2|) (|bpPop1|))))
T)))))